Commit graph

5223 commits

Author SHA1 Message Date
Richard van der Hoff
289dfff50a
Promote "history sharing on invite" out of developer options (#6647)
* Enable history sharing by default, unconditionally

* Remove feature-flag dep from history viz icons in room header

* Remove feature-flag dep from warning on inviting new people

* Remove feature-flag dep from warning on starting chat with new people

* Remove `enableKeyShareOnInvite` feature flag

* Update screenshots

* Remove redundant `FakeFeatureFlagService()` invocation, per review comment

---------

Co-authored-by: ElementBot <android@element.io>
2026-04-24 10:52:21 +00:00
Jorge Martin Espinosa
92ee479e91
Set max lines for 'in reply to' view conditionally (#6612)
* Set max lines for 'in reply to' view conditionally. When there is enough screen space, use 2 lines as before. If the screen space is limited, use a single one.

* Reduce vertical padding for reply-to view in compose

* Add screenshot test with single line in reply to view

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-04-23 15:15:52 +02:00
renovate[bot]
9dd61bbd37
fix(deps): update camera to v1.6.0 (#6514)
* fix(deps): update camera to v1.6.0

* Add dependency to com.google.guava:guava to fix compilation issue.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org>
2026-04-23 09:48:15 +02:00
Jorge Martin Espinosa
b4f1627748
Remove distributed tracing of the 'timeline loading' flow (#6644)
* Remove distributed tracing of the 'timeline loading' flow. This is causing crashes in the app when a debug SDK build is used

* Discourage using the APIs related with distributed tracing, explaining the problem
2026-04-22 17:51:51 +02:00
Jorge Martin Espinosa
1e04a7345f
Add flag for automatic back pagination feature (#6637) 2026-04-21 14:42:44 +00:00
Benoit Marty
f3dd7b86d8
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
2d4ed98738
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
a662a5a045 Use new action_delete and action_delete_account 2026-04-21 14:57:33 +02:00
Valere Fedronic
b080c01388
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
434e592fed Merge branch 'develop' into feature/valere/call/clean_up_call_controls 2026-04-21 11:36:44 +02:00
Benoit Marty
168782e049 Update deactivate account wording. Closes #6608 2026-04-21 11:35:26 +02:00
Benoit Marty
8eb5a55673 Introduce simplePluralStringResource methods, as Composable and in StringProvider. 2026-04-21 11:22:43 +02:00
Valere
af47e2b405 Merge branch 'develop' into valere/call/fix_join_button_on_several_items 2026-04-21 11:05:14 +02:00
Valere
e158be86aa review: Make call intent not optional in content 2026-04-21 11:03:48 +02:00
Valere
b0e9073efb fix test compilation 2026-04-21 10:49:08 +02:00
ganfra
51733ec6fe Merge branch 'develop' into feature/fga/live_location_rendering 2026-04-20 19:12:21 +02:00
ElementBot
e1b7171839
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
f80a140cf9
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
58bde16b81 enforce selecting the EC preferred device 2026-04-20 11:19:37 +02:00
ganfra
41f86b492c Fix test after new property in LiveLocationShare 2026-04-17 16:58:06 +02:00
Benoit Marty
ae94e0c746
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
3b813f137b Merge branch 'develop' into feature/fga/live_location_rendering 2026-04-17 15:13:13 +02:00
ganfra
8182a149d0 Live location : ensure it's not sorted randomly 2026-04-17 15:07:54 +02:00
Benoit Marty
269d367130
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
a341a1a59e
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
4e5542396f
Merge branch 'develop' into feature-oled-black 2026-04-17 14:47:15 +02:00
bxdxnn
6a4fed2baf
Natural media viewer swiping order (#6431) 2026-04-17 11:30:21 +02:00
Benoit Marty
a1c9994385 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
3f9b8b822e cleaning: Remove join button from call notify timelineItemView 2026-04-16 16:35:28 +02:00
ganfra
fbfeeae084 Fix formatting 2026-04-16 16:18:53 +02:00
ganfra
6b933b6506 Use "Shared live location" in formatter 2026-04-16 15:52:11 +02:00
ganfra
704ddc9132 Update live location shares when reaching timeout (before actual stop event) 2026-04-16 15:33:42 +02:00
Jorge Martín
7cdad11753 Use Devices.PHONE directly in the landscape preview 2026-04-15 15:51:06 +02:00
Jorge Martín
69fb344517 Use WindowSizeClass instead of just checking portrait/landscape orientation 2026-04-15 15:51:06 +02:00
Jorge Martín
42a572cce2 Add landscape previews 2026-04-15 15:51:06 +02:00
Jorge Martín
70e45d9bfe Some tweaks for landscape and insets 2026-04-15 15:51:06 +02:00
bxdxnn
f389eae868 Make media captions scrollable (#6498) 2026-04-15 15:51:06 +02:00
Jorge Martin Espinosa
0058de9bca
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
66513bc905
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
80470b3792
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
11866afb03 Remove hardcoded strings 2026-04-15 13:55:54 +02:00
Skye Elliot
897c68e7b7
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
e0554bbaf3
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
4b8368f242
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
7a7a5a68b9
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
f7cfa6cda8
Merge branch 'develop' into feature-oled-black 2026-04-14 10:13:46 +04:00
ganfra
e85b532d6a Merge branch 'develop' into feature/fga/live_location_rendering 2026-04-13 22:38:54 +02:00
ganfra
9a4da33340 Fix breaking change, will implement in a separate PR 2026-04-13 20:37:15 +02:00
Benoit Marty
8c5caabed4 Sign in with Classic 2026-04-13 11:16:05 +02:00
bmarty
23c1112dcf Sync Strings from Localazy 2026-04-13 00:48:40 +00:00