Commit graph

5220 commits

Author SHA1 Message Date
Benoit Marty
6342b925d5 MediaViewer: add Share action as a main action. 2026-04-21 16:14:07 +02:00
Benoit Marty
5d8b9ef56c MediaViewerEvents -> MediaViewerEvent 2026-04-21 15:50:59 +02:00
Benoit Marty
ce30a4ab23 Merge pull request #6633 from element-hq/feature/bma/deactivateStrings
Update wording of deactivate account screen
2026-04-21 15:34:23 +02:00
Jorge Martin Espinosa
4bf0c2c92b Fix media viewer bottom sheets not being scrollable (#6631)
Both the info and confirm deletion bottom sheets were not scrollable, which made them useless on devices with low resolution or landscape orientation in most devices
2026-04-21 15:30:50 +02:00
Benoit Marty
9d054e08b1 Use new action_delete and action_delete_account 2026-04-21 14:57:33 +02:00
Valere Fedronic
7c81df6816 Merge pull request #6603 from element-hq/valere/call/fix_join_button_on_several_items
cleaning: Remove join button from call notify timelineItemView
2026-04-21 11:56:38 +02:00
Valere
3c7ef689f9 Merge branch 'develop' into feature/valere/call/clean_up_call_controls 2026-04-21 11:36:44 +02:00
Benoit Marty
495a00bc90 Update deactivate account wording. Closes #6608 2026-04-21 11:35:26 +02:00
Benoit Marty
8c02d873d8 Introduce simplePluralStringResource methods, as Composable and in StringProvider. 2026-04-21 11:22:43 +02:00
Valere
df6aa2e9b4 Merge branch 'develop' into valere/call/fix_join_button_on_several_items 2026-04-21 11:05:14 +02:00
Valere
0f6b706c7a review: Make call intent not optional in content 2026-04-21 11:03:48 +02:00
Valere
6f4dab91a6 fix test compilation 2026-04-21 10:49:08 +02:00
ganfra
63dad366c8 Merge branch 'develop' into feature/fga/live_location_rendering 2026-04-20 19:12:21 +02:00
ElementBot
c5640ebff5 Sync Strings (#6626)
* Sync Strings from Localazy

* Use the previous plurals as plain strings

* Add extra case for 1 vs multiple users

* Update screenshots

---------

Co-authored-by: Jorge Martín <jorgem@element.io>
2026-04-20 17:09:10 +00:00
Jorge Martin Espinosa
db100281d8 Cleanup FetchPushForegroundService (#6577)
* Rename `PushHandlingWakeLock` to `FetchPushForegroundServiceManager`. Move the start/stop logic from `FetchPushForegroundService.Companion` to it.

* Add more tests using Robolectric.

* Remove `FeatureFlags.SyncNotificationsWithWorkManager` and associated code: this should have been removed in one of the previous refactors, since we don't have the 2 ways to sync notifications anymore, everything uses the `WorkManager`

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2026-04-20 16:03:12 +02:00
Valere
b0b02102ae enforce selecting the EC preferred device 2026-04-20 11:19:37 +02:00
ganfra
af9f381d24 Fix test after new property in LiveLocationShare 2026-04-17 16:58:06 +02:00
Benoit Marty
a82e3425be Merge pull request #6441 from timurgilfanov/feature-oled-black
Add Black theme option for battery saving on OLED displays
2026-04-17 15:41:49 +02:00
ganfra
22f0b2e449 Merge branch 'develop' into feature/fga/live_location_rendering 2026-04-17 15:13:13 +02:00
ganfra
4853aee3f2 Live location : ensure it's not sorted randomly 2026-04-17 15:07:54 +02:00
Benoit Marty
213d4c2b87 Merge pull request #6464 from kalix127/feat/reply-with-voice-message
Support replying to messages with voice recordings
2026-04-17 14:49:04 +02:00
Jorge Martin Espinosa
9323cbba98 Replace rustls-platform-verifier-android.aar with single class (#6610)
* Replace the `rustls-platform-verifier-android.aar` with the actual source code

* Exclude the platform-verifier code from linters

* Add manual update instructions

* Exclude from Kover too
2026-04-17 14:48:50 +02:00
Benoit Marty
6d4258e248 Merge branch 'develop' into feature-oled-black 2026-04-17 14:47:15 +02:00
bxdxnn
eff5a02963 Natural media viewer swiping order (#6431) 2026-04-17 11:30:21 +02:00
Benoit Marty
74f147a9d7 Settings UI update.
- Reorder items
- Minor UI update
- Improve the previews of the Composable
- Merge manage account and manage devices
- Add missing tests
2026-04-17 09:49:59 +02:00
Valere
868a90f2ef cleaning: Remove join button from call notify timelineItemView 2026-04-16 16:35:28 +02:00
ganfra
f2b563763f Fix formatting 2026-04-16 16:18:53 +02:00
ganfra
fa447fcba3 Use "Shared live location" in formatter 2026-04-16 15:52:11 +02:00
ganfra
e162e667be Update live location shares when reaching timeout (before actual stop event) 2026-04-16 15:33:42 +02:00
Jorge Martín
cdab592150 Use Devices.PHONE directly in the landscape preview 2026-04-15 15:51:06 +02:00
Jorge Martín
4e774a7ab8 Use WindowSizeClass instead of just checking portrait/landscape orientation 2026-04-15 15:51:06 +02:00
Jorge Martín
f2618581dd Add landscape previews 2026-04-15 15:51:06 +02:00
Jorge Martín
2215fabbc8 Some tweaks for landscape and insets 2026-04-15 15:51:06 +02:00
bxdxnn
683758d52e Make media captions scrollable (#6498) 2026-04-15 15:51:06 +02:00
Jorge Martin Espinosa
1d3b402333 Add extra logs for timeline pagination (#6589)
We found some possible rare issues with pagination these could help understand.
2026-04-15 15:14:42 +02:00
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
ganfra
8cefebdc36 Remove hardcoded strings 2026-04-15 13:55:54 +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
Jorge Martin Espinosa
cc15c9e4d1 Use Coil3 for ZoomableAsyncImage (#6582)
The `-coil` version uses Coil 2.X, there is a `-coil3` version using the latest one, which matches the one we use in the rest of the app.
2026-04-15 07:58:03 +00: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
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
Timur Gilfanov
77e84d7177 Merge branch 'develop' into feature-oled-black 2026-04-14 10:13:46 +04:00
ganfra
5ed6a7ac40 Merge branch 'develop' into feature/fga/live_location_rendering 2026-04-13 22:38:54 +02:00
ganfra
a1b484be44 Fix breaking change, will implement in a separate PR 2026-04-13 20:37:15 +02:00
Benoit Marty
674e0925c0 Sign in with Classic 2026-04-13 11:16:05 +02:00
bmarty
919e9d6c2d Sync Strings from Localazy 2026-04-13 00:48:40 +00:00
ganfra
5f3226107a Refactor live location shares to use callbackFlow 2026-04-10 20:45:18 +02:00
ganfra
9977370332 Refactor LiveLocationShare to include structured LastLocation 2026-04-10 14:43:24 +02:00
ganfra
f7bb5b203e Merge branch 'develop' into feature/fga/live_location_rendering 2026-04-10 09:50:44 +02:00