Commit Graph

887 Commits

Author SHA1 Message Date
Benoit Marty
e6cd8d5fb5 Remove useless Immutable annotation 2025-10-09 18:22:33 +02:00
Benoit Marty
5671a5fc07 Merge pull request #5495 from element-hq/feature/bma/removeAvatarPreviews
Reduce number of Previews for Avatar.
2025-10-09 12:01:08 +02:00
Benoit Marty
7ce2c08f6e Merge pull request #5490 from element-hq/feature/bma/improveImmutables
Ensure that we are using Immutable instead of Persistent
2025-10-09 11:48:32 +02:00
Benoit Marty
b03391e3f3 Reduce number of Preview for Avatar.
It will cover more cases, and it will limit the risk of conflict on screenshot, which happen each time we touch AvatarSize.
2025-10-09 09:55:19 +02:00
Benoit Marty
a13664456c Disable Avatar cluster for now. 2025-10-08 18:08:08 +02:00
Benoit Marty
da78386d25 Add Konsist test to check that toPersistentList() is not used.
Same for `toPersistentSet()` and `toPersistentMap()`.
Fix existing issues.
2025-10-08 15:51:18 +02:00
Benoit Marty
99cca81978 Add a preview for all icons.
It will help to investigate icon rendering issue using Showkase browser.
2025-10-08 11:45:12 +02:00
Benoit Marty
1502a3ffbe Use "BETA" word from Localazy and ensure layout is correct in IconTitleSubtitleMolecule if the title is long. 2025-10-07 14:46:20 +02:00
Benoit Marty
17b6b08926 Import Compound code from project https://github.com/element-hq/compound-android 2025-10-03 18:23:27 +02:00
Benoit Marty
4660fe428d Use semantics colors. 2025-10-03 15:07:41 +02:00
Benoit Marty
8664b2ce90 Add a way to use the primary color for the icon. 2025-10-03 00:14:27 +02:00
Benoit Marty
6e9ba7760e Add Composable for a Beta label 2025-10-03 00:14:24 +02:00
Benoit Marty
a6720078b4 Merge branch 'develop' into feature/bma/leaveSpace 2025-09-26 15:46:57 +02:00
Benoit Marty
73a6ba2849 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
bc465d724a Leave space - Add screen to leave a space. 2025-09-26 14:14:00 +02:00
Benoit Marty
461565fc9c Merge branch 'develop' into feature/fga/join_space 2025-09-24 11:20:17 +02:00
Jorge Martin Espinosa
3a3dce150a Add thread decoration with latest event details (#5355)
* Add thread decoration with latest event details
* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-09-23 14:57:50 +00:00
ganfra
5cda6730c4 Merge branch 'develop' into feature/fga/join_space 2025-09-19 16:35:55 +02:00
ganfra
9b2a1a711d design (join room) : update design of join room screen 2025-09-16 14:51:11 +02:00
Benoit Marty
629fc552e5 Use DependencyHandlerScope.testCommonDependencies() 2025-09-16 14:38:31 +02:00
Jorge Martin Espinosa
f4c73477c7 Do not center the dialog title text for dialogs with no icon (#5332)
* Fix: do not center the dialog title text for dialogs with no icon

* Fix alignment for dialogs with icons, add screenshots

* Replace text title in previews so the screenshot tests are easier to understand

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-09-15 11:39:37 +02:00
Richard van der Hoff
5f920eb100 Show progress dialog while we are sending invites in a room (#5342)
* Add `InvitePeopleState.sendInvitesAction`

Keep track of the progress on sending invites with a new state property.

* Keep `RoomInviteMembersView` open until invites are sent

* Sync strings from localazy

* extend `ProgressDialog` to support custom content

For my current design, a simple text element is insufficient. I extend
`ProgressDialog` to give more flexibility over the content of the dialog.

* Show progress dialog while invites are being sent

* Add new ProgressDialog previews to the naming exceptions list

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-09-12 10:35:37 +00:00
Jorge Martin Espinosa
a050f64196 Add emoji search to the reaction emoji picker (#5255)
* Add emoji search to the reaction emoji picker

* Update screenshots

* Fix tests and lint issues.

Fixing the tests required addressing some underlying issues in `SearchBar`

---------

Co-authored-by: ElementBot <android@element.io>
2025-09-05 17:11:40 +00:00
Benoit Marty
cd4c765143 Code quality 2025-09-05 17:09:43 +02:00
Benoit Marty
fdea38ddb0 Add space header. 2025-09-05 17:09:40 +02:00
Benoit Marty
85d7532124 Space List
Extract InviteButtonsRowMolecule
Take into account seenSpaceInvites
2025-09-05 17:09:39 +02:00
Jorge Martin Espinosa
f5b5bb39ba [a11y] Add click action to the message bottom sheet handle (#5228) 2025-09-01 15:27:40 +02:00
Jorge Martin Espinosa
ace078f12e [a11y] Add content descriptions to room list item indicators (#5236)
* [a11y] Add content descriptions to room list item indicators. These can now be read aloud as 'ongoing call', 'new messages', 'new mentions'.

* Add `contentDescription` to `UnreadIndicatorAtom` as an optional value

* Make the 'ongoing call', 'new messages', etc. indicators be read aloud before the latest event of the room summary

---------

Co-authored-by: ElementBot <android@element.io>
2025-08-27 17:14:59 +02:00
Benoit Marty
20979b9824 Merge pull request #5217 from element-hq/bma/customSplash
Custom logo on on boarding screen.
2025-08-25 18:01:37 +02:00
Benoit Marty
3abe5c8284 Fix documentation. 2025-08-25 17:25:07 +02:00
Benoit Marty
ce20a01ac0 Add a way to customize the on boarding logo. 2025-08-25 14:47:41 +02:00
Benoit Marty
2ad6ca5f22 Add SpaceHeaderView. 2025-08-22 14:50:30 +02:00
Benoit Marty
31df5204a6 Introduce SpaceMembersView.
Ref: https://www.figma.com/design/G1xy0HDZKJf5TCRFmKb5d5/Compound-Android-Components?node-id=3729-605&m=dev
2025-08-20 17:40:49 +02:00
Benoit Marty
20e2cd0251 Rename RoomPreviewMembersCountMolecule to MembersCountMolecule 2025-08-20 17:13:42 +02:00
Benoit Marty
324fc28e2d Add a revered parameter to AvatarRow to be able to stack avatar the other way. 2025-08-20 16:51:19 +02:00
Benoit Marty
333b1c8a48 Move AvatarRow to designsystem module, because it will be used by spaces. 2025-08-20 15:56:46 +02:00
Benoit Marty
aadaeb78d8 Add UI component EditableOrgAvatar
Ref: https://www.figma.com/design/G1xy0HDZKJf5TCRFmKb5d5/Compound-Android-Components?node-id=3643-2678&m=dev
2025-08-20 15:17:53 +02:00
Benoit Marty
5d2246569f [UI] Iterate on user invite view. 2025-08-18 17:16:28 +02:00
Benoit Marty
d7d2fe3ffb [UI] Iterate on selected user rendering. 2025-08-18 17:16:04 +02:00
Benoit Marty
8e37d16f9f Merge pull request #5166 from element-hq/feature/fga/create_room_flow_rework
Create room flow rework
2025-08-18 09:38:28 +02:00
Jorge Martín
4bebd1d2ac Remove libs.showkase entry in composeDependencies
Add it only to the needed library modules.
2025-08-13 11:43:57 +02:00
Benoit Marty
9c32dbba58 Inject a StringProvider instead of the context, and update tests.
Also remove the other StringProvider we had, it was not used anymore
2025-08-13 11:07:28 +02:00
Benoit Marty
683628e352 Rename extension. 2025-08-05 21:11:19 +02:00
Benoit Marty
eb33c8d864 [a11y] Let keyboard shortcut Shift + F10 trigger the same action than a long click 2025-08-05 09:41:08 +02:00
Benoit Marty
5bf4e4c8ce [a11y] Ensure external keyboard Esc key closes any bottom sheet. 2025-08-04 16:29:50 +02:00
Benoit Marty
c40badec65 Merge pull request #5017 from element-hq/feature/bma/a11y/sessionVerification
[a11y] Improve session verification screens
2025-07-17 15:45:32 +02:00
Benoit Marty
75c9bf20db Iterate on FloatingActionButton shape and colors. 2025-07-16 09:47:08 +02:00
Benoit Marty
9f5acd24fa [a11y] Group device information and spell out the deviceId 2025-07-11 14:35:08 +02:00
Benoit Marty
773797fff8 Remove PageTitle, it was a duplicate of IconTitleSubtitleMolecule 2025-07-11 14:22:11 +02:00
Benoit Marty
9ae5ea78ee FlowStepPage: replace PageTitle by IconTitleSubtitleMolecule 2025-07-11 14:14:30 +02:00