Commit graph

4361 commits

Author SHA1 Message Date
Hubert Chathi
d2e5b43674
Only offer to verify if a cross-signed device is available (#5433)
* Only offer to verify if a cross-signed device is available

* Fix tests

* use the right exception mapper

* adjust flag name and logic in ChooseSelfVerificationState

* add comment

* switch order of states to match previous logic
2025-10-06 12:40:52 +02:00
ElementBot
7095b460b3
Sync Strings from Localazy (#5460)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-10-06 12:38:51 +02:00
Benoit Marty
d4e295807f Import Compound tests from project https://github.com/element-hq/compound-android 2025-10-06 10:47:31 +02:00
Benoit Marty
9938b74669 Fix lint issue 2025-10-06 10:17:33 +02:00
Benoit Marty
b41fb4144e Fix some quality issue 2025-10-06 10:17:30 +02:00
Benoit Marty
20e8765a3a We do not need to use support library 2025-10-05 21:01:16 +02:00
Benoit Marty
95f1dc9bae Import Compound code from project https://github.com/element-hq/compound-android 2025-10-03 18:23:27 +02:00
Benoit Marty
97ae89ed96
Merge pull request #5451 from element-hq/feature/bma/spaceAnnoucement
Space annoucement
2025-10-03 16:48:49 +02:00
Benoit Marty
0c63d0cb4f
Merge pull request #5432 from element-hq/feature/bma/leaveSpace
Leave space: use SDK API.
2025-10-03 16:43:45 +02:00
Benoit Marty
8d6a75e662 Use semantics colors. 2025-10-03 15:07:41 +02:00
ganfra
0bec8f038c
Merge pull request #5449 from element-hq/feature/fga/room_list_space_invite
Room list space invite
2025-10-03 13:17:28 +02:00
Benoit Marty
831eaca43d Add unit test on SpaceAnnouncementPresenter 2025-10-03 09:54:42 +02:00
Benoit Marty
9f71bc4575 Add a way to use the primary color for the icon. 2025-10-03 00:14:27 +02:00
Benoit Marty
23ed5e71fd Add Composable for a Beta label 2025-10-03 00:14:24 +02:00
ganfra
71f9660295 Leave space: notify the room membership change 2025-10-02 19:49:34 +02:00
Benoit Marty
d3982a1b9b
Merge pull request #5440 from element-hq/feature/bma/injectSessionId
Remove CurrentSessionIdHolder and inject SessionId instead.
2025-10-02 18:06:17 +02:00
ganfra
f0b341816b feature(space) : filter space manually so we can show space invites 2025-10-02 17:38:47 +02:00
Benoit Marty
c459af6e61 Leave space: use the SDK API. 2025-10-02 17:26:02 +02:00
Benoit Marty
6edb9acc2b Let SpaceId be an alias of RoomId 2025-10-02 17:25:33 +02:00
Benoit Marty
b2306258b4 Update SDK 2025-10-02 17:25:31 +02:00
Benoit Marty
b6d23b2508 Remove unused dependency on javax.inject:javax.inject 2025-10-02 10:25:54 +02:00
Benoit Marty
7dd081f0ed We do not need CurrentSessionIdHolder anymore.
The SessionId can be provided by SessionMatrixModule and injected in constructors directly.
2025-10-01 17:57:13 +02:00
Benoit Marty
83f59c2de3
Merge pull request #5431 from element-hq/feature/fga/space_list_join_action
Feature : space list join action
2025-10-01 14:53:30 +02:00
Benoit Marty
bb5a4f4954 Merge branch 'develop' into feature/fga/space_list_join_action 2025-10-01 12:41:22 +02:00
renovate[bot]
00c423e485
fix(deps): update dependency net.java.dev.jna:jna to v5.18.1 2025-10-01 10:23:01 +00:00
Benoit Marty
dd153a402b Add modifier parameter. 2025-10-01 11:22:46 +02:00
ganfra
11c0799216 misc (space) : ensure SpaceRoomList is destroyed 2025-10-01 10:49:35 +02:00
Benoit Marty
c3b2cf9b9d Improve Previews. 2025-10-01 10:48:15 +02:00
ganfra
f1eabdff7d feature (space) : handle accept decline invite 2025-09-30 15:59:29 +02:00
Benoit Marty
22aeac664b
Merge pull request #5420 from element-hq/feature/bma/metroAssistedInject
Ensure Metro `@AssistedInject` is used.
2025-09-30 15:39:23 +02:00
Benoit Marty
f597324874 Add default value 2025-09-30 13:09:44 +02:00
Benoit Marty
e1c67ce6a4 Add Preview 2025-09-30 12:19:21 +02:00
Benoit Marty
adb6d91e6e Remove Progress from splashscreen to follow design requirements. 2025-09-30 12:15:25 +02:00
Benoit Marty
36070c3e2b loadingNode: hide ProgressIndicator in some cases. 2025-09-30 11:54:43 +02:00
Benoit Marty
fa77166092 No need of DI for the LoadingNode. 2025-09-30 11:50:17 +02:00
Jorge Martin Espinosa
72c766d73a
Follow permalinks to and from threads (#5414)
* Implement navigation to event inside a thread when a permalink is used

* Fix permalink navigation in threads to rooms

* Fix navigating to a different thread from a permalink in an existing thread

* Fix tests

* Add missing tests for thread navigation

* Reduce number of diff between ThreadedMessagesNode.kt and MessagesNode.kt

* Navigate back to the room when a link to the current room is clicked in a thread.

---------

Co-authored-by: Benoit Marty <benoitm@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-09-30 09:18:13 +00:00
ganfra
938baede22 feature (space) : some code clean up 2025-09-29 21:27:41 +02:00
ganfra
6eae9e379f Merge branch 'develop' into feature/fga/space_list_join_action 2025-09-29 18:01:42 +02:00
Benoit Marty
79edf4f4cf
Merge branch 'develop' into feature/bma/incomingVerificationA11y 2025-09-29 17:57:00 +02:00
ElementBot
95949e615f
Sync Strings from Localazy (#5427)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-09-29 15:10:21 +00:00
Benoit Marty
37f450538d Update test. 2025-09-29 17:05:02 +02:00
Benoit Marty
07f1bca16f Remove code duplication around UserProfile mapper. 2025-09-29 15:38:08 +02:00
Benoit Marty
b96f75db26 SessionVerificationRequestDetails: map deviceDisplayName. 2025-09-29 15:38:07 +02:00
Benoit Marty
bb11d7d5ae Fix compilation issue. 2025-09-29 10:06:31 +02:00
Benoit Marty
04563d8ac3 Create a LoadingNode to reduce code duplication. 2025-09-29 09:34:37 +02:00
Benoit Marty
0e3efafa6d
Merge branch 'develop' into feature/bma/leaveSpace 2025-09-26 15:46:57 +02:00
Benoit Marty
1e546335df
Multi accounts - experimental first implementation (#5285)
* Multi account - Do not reset analytics store on sign out.

Else when 1 of many accounts is removed, the analytics opt in screen is displayed again.

* Multi accounts - first implementation.

* Multi accounts - Prevent user from logging twice with the same account

* Multi accounts - ignore automatic GoBack in case of error.

* Multi accounts - update first view when adding an account.

* Rename method storeData to addSession.

* Multi accounts - handle account switch when coming from a notification

* Multi accounts - handle login link when there is already an account.

* Multi accounts - handle click on push history for not current account.

* Multi accounts - improve layout and add preview.

* Add accountselect modules

* Multi accounts - incoming share with account selection

* Multi accounts - check the feature flag before allowing login using login link.

* Multi accounts - swipe on account icon

* Cleanup

* Multi accounts - fix other implementation of SessionStore

* Multi accounts - fix PreferencesRootPresenterTest

* Multi accounts - Add test on AccountSelectPresenter

* Multi accounts - Fix test on HomePresenter - WIP

* Update database to be able to sort accounts by creation date.

* Add unit test on takeCurrentUserWithNeighbors

* Fix test and improve code.

* Add exception

* Multi accounts - handle permalink

* Code quality

* Multi accounts - localization

* Fix issue after rebase on develop

* Fix issue after rebase on develop

* Fix tests

* Fix tests

* Fix tests

* Fix tests

* Update Multi accounts flag details.

* Add missing test on DatabaseSessionStore

* Add missing preview on LoginModeView

* Remove dead code.

* Add missing preview on PushHistoryView

* Document API.

* Rename API and update test.

* Remove MatrixAuthenticationService.loggedInStateFlow()

* Update screenshots

* Remove unused import

* Add exception

* Fix compilation issue after rebase on develop.

* Update screenshots

* Fix test

* Avoid calling getLatestSession() twice

* Rename `matrixUserAndNeighbors` to `currentUserAndNeighbors`

* Extract code to its own class.

* Add comment to clarify the code.

* Init current user profile with what we now have in the database.

It allows having the cached data (user display name and avatar) when starting the application when no network is available.

* Let the RustMatrixClient update the profile in the session database

* Fix test.

* When logging out from Pin code screen, logout from all the sessions.

tom

* Make PushData.clientSecret mandatory.
Also do not restore the last session as a fallback, it can lead to error in a multi account context, or even when a ghost pusher send a Push.

* Change test in RustMatrixAuthenticationServiceTest

* Do not use MatrixAuthenticationService in RootFlowNode, only use SessionStore

* Remove MatrixAuthenticationService.getLatestSessionId()

* Fix compilation issue after merging develop

* Add test on DefaultAccountSelectEntryPoint

* Fix compilation issue after merging develop

* Introduce LoggedInAccountSwitcherNode, to improve animation when switching between accounts.

* Rename Node to follow naming convention.

* Fix navigation issue after login.

* Remove unused import

* Revert "Fix navigation issue after login."

This reverts commit e409630856d7a7e741548016d7afe174ff1b40f7.

* Revert "Rename Node to follow naming convention."

This reverts commit 883b1f37c7207512d9f6605749977ad9045846a1.

* Revert "Introduce LoggedInAccountSwitcherNode, to improve animation when switching between accounts."

This reverts commit 9c698ff8152aceb5fd2b8b5ab5f609d28de64d24.

* Metro now have `@AssistedInject`.

* Update screenshots

* Introduce DelegateTransitionHandler and use it in RootFlowNode

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: ganfra <francoisg@element.io>
2025-09-26 15:45:06 +02:00
Benoit Marty
cbd591e102 Remove translations (key values have changed).
Translations will be back during the next Localazy sync.
2025-09-26 14:14:01 +02:00
Benoit Marty
74c2ee46d8 Leave space - Add screen to leave a space. 2025-09-26 14:14:00 +02:00
Jorge Martin Espinosa
a8c4d5d019
Use shared recent emoji reactions from account data (#5402)
* Use shared recent emoji reactions from account data

- Add `AddRecentEmoji` and `GetRecentEmojis` use cases to avoid injecting the whole `MatrixClient` for just one of these operations.
- Update the UI and logic of the emoji picker and message context menu to include the recent emojis.
- Add `CoroutineDispatchers.Default` with the defaults coroutines to use in the app for ease of use.

* Instead of replacing suggested emojis, concatenate recent ones removing duplicates

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-09-26 11:04:34 +00:00