Commit graph

5785 commits

Author SHA1 Message Date
Jorge Martin Espinosa
b66df37f3e Take into account homeserver capabilities (#6507)
* Take into account homeserver capabilities: add `HomeserverCapabilitiesProvider` to check if the HS allows changing the user's display name or avatar. Also, modify the edit user profile screen to reflect these values.

* Add `/myavatar` command. Filter both `/nick` and `/myavatar` commands based on the homeserver capabilities.

* Update screenshots

* Assume the use can change their display name and avatar url if the capabilities check fails: if they try to change those, the HS will return an error anyway.

* Disable also `/myroomname` and `/myroomavatar` based on the HS capabilities.

---------

Co-authored-by: ElementBot <android@element.io>
2026-04-15 12:29:41 +00:00
Jorge Martin Espinosa
15419bb675 Feature: add room threads list (#6575)
Add threads list screen for rooms:

- Add `ThreadsListService` to subscribe to thread changes in the room.
- Create `ThreadsListView` and its associated node a presenters (the UI may change).
- Add a menu icon in the room screen to open it.

This is still pending info about unread threads, so several UI components related to it will be hidden.

* Add feature flag and use it to hide the access to this new screen

---------

Co-authored-by: ElementBot <android@element.io>
2026-04-15 12:14:22 +00:00
Benoit Marty
fafaad6b6c Take into account the value of FeatureFlags.SignInWithClassic 2026-04-15 12:00:29 +02:00
Skye Elliot
82cec2016e Add confirmation dialog when inviting users with unknown identities (#6523)
* feat: Add confirmation modal when inviting unknown users

* tests: Add preview tests for invite confirmation modal

* tests: Add unit tests for invite confirmation modal

* feat: Switch confirmation sheet contents based on identity state

* tests: Add history sharing unit tests for `DefaultStartDMActionTest`

* tests: Update snapshots for `CreateDmConfirmationBottomSheet`

* chore: Fix tiny nits

* fix: Remove default param on `ConfirmingStartDmWithMatrixUser`

* refactor: Use new AsyncAction over boolean flag

* fix: Add sleeps to tests

* refactor: Remove `PromptOrInvite` and switch on async action

* fix: Remove redundant `assertThat`

* feat: Alllow invite confirmation modal to be dismissed

* tests: Update snapshots for InvitePeopleView

* fix: Adjust `CreateDmConfirmationBottomSheet` to conform to design

* feat: Use localazy translations and plurals

* fix: When users are unselected, unselect them in search results too

* tests: Use aMatrixUserList to provide multiple users

* Update screenshots

* fix: Add missing parameter in UserProfilePresenterTest

---------

Co-authored-by: Andy Balaam <andy.balaam@matrix.org>
Co-authored-by: ElementBot <android@element.io>
2026-04-15 10:25:58 +01:00
Benoit Marty
221a16e962 Merge pull request #6576 from element-hq/renovate/com.google.testparameterinjector-test-parameter-injector-1.x
Update dependency com.google.testparameterinjector:test-parameter-injector to v1.22
2026-04-15 09:45:56 +02:00
Benoit Marty
ca9d0fbc64 Use @TestParameter instead of doing the work manually. 2026-04-15 08:39:14 +02:00
Benoit Marty
4985079b8c Use @TestParameter instead of doing the work manually. 2026-04-15 08:32:26 +02:00
Benoit Marty
9366968cfa Merge pull request #6296 from element-hq/feature/bma/signInWithElementClassicFinal
Sign in with element classic final
2026-04-14 23:00:47 +02:00
Valere Fedronic
1e3e5dca8c Merge pull request #6574 from element-hq/feature/valere/call/ongoing_voice_call_join
feat: Default to camera muted when joining ongoing voice call
2026-04-14 22:47:58 +02:00
Benoit Marty
e9dd3115b8 Merge pull request #6561 from element-hq/feature/bma/removeSpaceAnnouncement
Remove space announcement
2026-04-14 16:58:25 +02:00
Benoit Marty
c05823bcc1 Refresh Element Classic state each time ClassicFlowNode is resumed.
This ensure that Element X is always up to date regarding Element Classic state.
2026-04-14 16:51:00 +02:00
Jorge Martin Espinosa
8b0f3b92da Fix isInAirGappedEnvironment check for older APIs (#6573)
* Fix `isInAirGappedEnvironment` check for older APIs: use `networkCapabilities.hasCapability` instead of `networkCapabilities.capabilities.contains`, which only works on Android 12 and newer versions

* Check for air-gapped env in the FOSS app too: this unifies the notification behaviour on EXA and Element Pro
2026-04-14 15:52:41 +02:00
Valere
6a49f4c15a fixup: test compilation pb 2026-04-14 15:20:56 +02:00
Valere
684d53b90e feat: Default to camera muted when joining ongoing voice call 2026-04-14 14:45:35 +02:00
Benoit Marty
f0bee63d7f Move vals at the top of the class. 2026-04-14 12:21:44 +02:00
Benoit Marty
3075600af6 Add missing test for AnnouncementEvent.Continue 2026-04-14 12:16:09 +02:00
Benoit Marty
563746aacb Restore previous key. 2026-04-14 11:42:29 +02:00
Benoit Marty
2a1e298359 Let Announcement.Fullscreen be an enum. 2026-04-14 11:38:52 +02:00
Benoit Marty
f670677427 Make elementClassicComponent a val. 2026-04-14 10:22:13 +02:00
Benoit Marty
ea4413696c Improve log and reduce severity. 2026-04-14 10:12:03 +02:00
Benoit Marty
21512bbe33 Fix navigation issue.
Ensure that the timeout has effect only in Idle state.
2026-04-13 15:36:48 +02:00
Benoit Marty
7a10ce9e54 Ignore secrets when the bundle does not contain the room keys version. 2026-04-13 11:16:06 +02:00
Benoit Marty
674e0925c0 Sign in with Classic 2026-04-13 11:16:05 +02:00
Benoit Marty
a50df0eae7 Fix typo 2026-04-13 11:16:05 +02:00
bmarty
919e9d6c2d Sync Strings from Localazy 2026-04-13 00:48:40 +00:00
Benoit Marty
3e9c7091b7 Fix quality issues 2026-04-10 22:50:04 +02:00
Benoit Marty
6abe9d7d18 Remove space announcement.
Rework to keep the logic for fullscreen announcement.
2026-04-10 14:51:03 +02:00
Benoit Marty
e25148c136 Merge pull request #6560 from element-hq/feature/bma/removeSpacesFF
Remove spaces features flags
2026-04-10 09:17:51 +02:00
Benoit Marty
75d0a7b2e9 Merge pull request #6559 from element-hq/feature/bma/fixModuleDependencies
Fix module dependencies
2026-04-10 09:17:34 +02:00
Benoit Marty
779813b8a7 Remove FF RoomListSpaceFilters 2026-04-09 11:33:08 +02:00
Benoit Marty
22553b2596 Remove FF CreateSpaces 2026-04-09 11:28:24 +02:00
Benoit Marty
2a1f706591 Remove FF SpaceSettings 2026-04-09 10:54:54 +02:00
Benoit Marty
80d7efc5e1 Depend on api not impl module. 2026-04-08 17:52:42 +02:00
Benoit Marty
187a6b0857 Depend on api not impl module. 2026-04-08 17:51:57 +02:00
Benoit Marty
7d4fbda5de Depend on api not impl module. 2026-04-08 17:51:03 +02:00
Benoit Marty
a2bb59b7ec Depend on api not impl module. 2026-04-08 17:46:50 +02:00
Benoit Marty
f7ad2c0060 Remove useless dependencies. 2026-04-08 17:45:01 +02:00
Benoit Marty
538ba9be1a Move aCallNotificationData to the tests package of the main module, so that the test module does not have to depend on the impl module. 2026-04-08 17:40:48 +02:00
Benoit Marty
08ffb26ba4 Depend on api not impl module. 2026-04-08 17:34:44 +02:00
Benoit Marty
4c1b9cca08 Improve code. 2026-04-08 17:16:04 +02:00
Benoit Marty
4add14da84 Ensure Mark as fully read is not invoked several times. 2026-04-08 17:15:04 +02:00
bxdxnn
060592b39c Fix Threads not tappable in pinned messages list (#6535) 2026-04-08 11:25:59 +02:00
Benoit Marty
fb5ca14bca Merge pull request #6517 from element-hq/feature/bma/compound10
Sync compound tokens https://github.com/element-hq/compound-design-tokens/releases/tag/v10.0.0
2026-04-08 09:40:14 +02:00
ElementBot
c4acb75924 Sync Strings (#6537)
* Sync Strings from Localazy

* Sync strings.

---------

Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2026-04-07 16:02:12 +02:00
Benoit Marty
a77662421c Add support for slash commands (under Feature Flag) (#6482)
* Add support for slash commands

* Update screenshots

* Rename module `slash` to `slashcommands`

* Rename `SlashCommand` to `SlashCommandService`

* Introduce MsgType in order to send text message with a different msgtype value.

* Format file and add parameter names, add default values and cleanup

* Add isSupported parameter to filter out unsupported yet commands.

* Slash commands: disable suggestions if the feature is disabled.

* Fix sending shrug command.

* Add missing test on SuggestionsProcessor

* Add tests on MessageComposerPresenter about slash command.

* Fix import ordering

* Add missing tests on CommandExecutor

* Add missing tests in MarkdownTextEditorStateTest

* Slash commands: Improve code when sending message with prefix.

* Slash commands: Add support for /unflip

---------

Co-authored-by: ElementBot <android@element.io>
2026-04-02 16:15:32 +02:00
Benoit Marty
7b30e54039 Changer border color of InReplyTo to separatorPrimary 2026-04-02 09:37:15 +02:00
Benoit Marty
ae4b079139 Revert "Use Folder icon from Compound."
This reverts commit da8e18eeab.
2026-04-02 09:25:30 +02:00
Jorge Martin Espinosa
b340e85f83 Add floating/sticky date badge in the timeline (#6496)
* Add floating date indicator while scrolling the timeline (#6433)

* Add `FeatureFlags.FloatingDateBadge`. This enables displaying the floating date badge in the timeline as you scroll.

* Don't display the floating badge if the timeline isn't reversed. Otherwise, this will affect talkback users and break the existing navigation

* Use `TimelineItem.formattedDate()` to get the date to display. Always try finding the closest one (usually it will be just the 1st one we try).

* Align designs with iOS. Also fix shadows in fade animation by adding some paddings.

* Update screenshots

---------

Co-authored-by: Gianluca Iavicoli <gianluca.iavicoli04@gmail.com>
Co-authored-by: ElementBot <android@element.io>
2026-04-01 10:45:57 +00:00
ElementBot
f4986d4a0b Sync Strings from Localazy (#6486)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-03-31 15:48:37 +02:00
Benoit Marty
0b7fe2f10d Cleanup 2026-03-25 16:51:41 +01:00