5739 Commits

Author SHA1 Message Date
ganfra
7b305e34ef Set LocationShareRow max lines to Text components 2026-03-12 10:29:20 +01:00
ganfra
e664fb0a61 Make sure zoom is at least DEFAULT_ZOOM when following user position 2026-03-12 10:28:36 +01:00
Benoit Marty
41c337668f Improve preview by adding a background color. 2026-03-11 15:43:15 +01:00
Benoit Marty
4c8ec04954 Iterate on file attachment rendering in the timeline. Closes #6319 2026-03-11 15:30:15 +01:00
ganfra
22a2bba354 Fix previews 2026-03-10 21:48:54 +01:00
ganfra
b284984dad Check location is enabled 2026-03-10 21:48:37 +01:00
Jorge Martin Espinosa
f77098ed47 Add network constraints for fetching notifications with WorkManager (#6305)
* Add `isNetworkBlocked` and `isInAirGappedEnvironment` to `NetworkMonitor`.

* Improve the DI of `SyncPendingNotificationsRequestBuilder` to simplify its usage.

* Only update `isInAirGappedEnvironment` in `DefaultNetworkManager` if the current build is an enterprise one.

* Add network constraints to `DefaultSyncPendingNotificationsRequestBuilder` based on the air-gapped status.

* Add a feature flag to disable the new check, in case it doesn't work as expected.
2026-03-10 12:44:31 +00:00
ganfra
60b262a19e Fix compilation 2026-03-09 21:19:57 +01:00
ganfra
cbec9dbe2c Start implementing location shares sheet content 2026-03-09 20:54:02 +01:00
ganfra
91626bd217 Start cleaning up location code 2026-03-09 20:54:02 +01:00
ganfra
d53db78856 Use android.graphic.canvas to create proper bitmap 2026-03-09 20:54:02 +01:00
ganfra
4704a6fc2a LocationPin : disable hardware rendering if needed 2026-03-09 20:54:02 +01:00
ganfra
3cce8caec4 Introduce LocationPinMarkers composable 2026-03-09 20:54:02 +01:00
ganfra
046d135e4b Introduce LiveLocationContent for the timeline (needs sdk) 2026-03-09 20:54:01 +01:00
ganfra
f4bf596e3b Start using LocationPinMarker in Share and Show locations 2026-03-09 20:54:01 +01:00
ganfra
ec1d6ebabb Add current user to ShareLocationState 2026-03-09 20:54:01 +01:00
ganfra
f6c1ad47d7 Fix MapBottomSheetScaffold paddings 2026-03-09 20:54:01 +01:00
ganfra
a6e31b5c45 Use ListItem.onClick method 2026-03-09 20:54:01 +01:00
ganfra
b4cf8c274e Make sure we can display both Live and Static locations in ShowLocation 2026-03-09 20:54:01 +01:00
ganfra
222b9f0c9e Raname UserLocation to UserLocationPuck 2026-03-09 20:54:01 +01:00
ganfra
a240f69aff First iteration using maplibre-compose 2026-03-09 20:54:01 +01:00
ganfra
29f9640053 Location accuracy should be nullable 2026-03-09 20:54:01 +01:00
ganfra
7472f889cf Allow picking duration for the live location share 2026-03-09 20:54:01 +01:00
ganfra
a129d1f9ca Add share live location item 2026-03-09 20:54:01 +01:00
ganfra
add737b646 Rename ShareLocationEvents -> ShareLocationEvent 2026-03-09 20:54:01 +01:00
ganfra
8c64f704cb Rename send location to share location 2026-03-09 20:54:01 +01:00
Valere Fedronic
477c482810 Merge branch 'develop' into valere/rtc/voice_call 2026-03-09 17:18:55 +01:00
ElementBot
2ad55f4bc6 Sync Strings (#6302)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-03-09 10:38:07 +01:00
Jorge Martin Espinosa
2d3e59912a Add code to help debugging the saved nav state graph (#6295)
* Add code to help debugging the saved nav state graph: this would help us diagnose the `TransactionTooLargeException` reports we've been seeing for months.
2026-03-06 14:44:30 +00:00
Valere
0e12f7f265 Merge branch 'develop' into valere/rtc/voice_call 2026-03-06 12:22:28 +01:00
Valere
ea12fe436b review: consistency use isAudioCall everywhere (instead of voiceOnly) 2026-03-06 12:19:05 +01:00
Valere
283756db70 review: fix bad usage of modifier 2026-03-06 12:15:20 +01:00
Valere
1e501fc659 review: Rename aIncomingCallScreenState to aCallNotificationData 2026-03-06 12:12:32 +01:00
Valere
902b7937c3 fix tests 2026-03-05 12:14:42 +01:00
Valere
e1365f1fd2 fix RoomDetailsViewTest 2026-03-05 11:28:38 +01:00
Valere
552741866c fix call state presenter test 2026-03-05 10:46:20 +01:00
Valere
b51a1a7c82 fix test for voice call button 2026-03-05 10:09:10 +01:00
Benoit Marty
4b61bb1e42 Fix test 2026-03-04 21:02:37 +01:00
Valere
b26728309a fix tests 2026-03-04 19:07:53 +01:00
Valere
c1171c5074 konsist: fix PreviewParameterProvider naming convention 2026-03-04 17:54:41 +01:00
Benoit Marty
1682ae88e7 Rename our classes too. 2026-03-04 17:41:44 +01:00
Valere
3e82395fe1 remove a done TODO comment 2026-03-04 17:39:36 +01:00
Valere
f805dde0f3 on show voice call only option in DMs 2026-03-04 15:08:24 +01:00
Valere
6d069e46e2 fix missing rename of var 2026-03-04 14:05:58 +01:00
Valere
04a9c677fb Merge branch 'develop' into valere/rtc/voice_call 2026-03-04 13:46:54 +01:00
Valere
d37e32834b rename voiceIntent to isAudioCall 2026-03-04 11:10:40 +01:00
Valere
a3dd2c78b3 Support incoming audio only calls 2026-03-04 08:56:33 +01:00
Jorge Martin Espinosa
721add707c Simplify push notification flow by using locally stored values for pending pushes (#6258)
* Create `PushRequest` in push history DB: this will be used to store requests for push notifications, either pending or completed ones.

* Rename `WorkManagerRequest` to `WorkManagerRequestBuilder`: make its `build` method return a list of `WorkManagerRequestWrapper`, which can be used to enqueue normal or unique workers.

* Rename `PerformDatabaseVacuumRequestBuilder` and adapt it to the new API.

* Adjust other components using `WorkManagerRequest`.

* Replace `SyncNotificationWorkManagerRequestBuilder` with `SyncPendingNotificationsRequestBuilder` and `FetchNotificationsWorker` with `FetchPendingNotificationsWorker`: this new pair of request builder and worker allow enqueuing requests for a session id and, once the worker runs, retrieve all the pending request data and use it to fetch the associated events. This simplifies quite a bit how this data had to be passed or grouped, since it's no longer necessary to do so

* Add new methods to `PushHistoryService` to modify the `PushDatabase`:

- insertOrUpdatePushRequest
- insertOrUpdatePushRequests
- getPendingPushRequests
- removeOldPushRequests

* Make `PushHandler` just handle incoming pushes: those will be inserted into the pending push request table in DB, then handled by the new worker. Once the process finished, a new `NotificationResultProcessor` will handle the results and what needs to be done with them (call ringing, displaying notifications, etc.)

* Add `requestType` optional parameter to `WorkManagerScheduler.cancel` so we can decide to only cancel some kinds of requests.

* Add migration to remove existing work manager requests for fetching notifications, since the previous worker class no longer exists.
2026-03-03 15:14:36 +00:00
Benoit Marty
a8c66381f2 Sync compound tokens https://github.com/element-hq/compound-design-tokens/releases/tag/v6.10.1 (#6273)
* Import compound token v6.10.1

./tools/compound/import_tokens.sh -b v6.10.1

* Use stop icon from Compound.

* Fix compilation issue.

* Use gradient color in ComposerAlertMolecule. Fixes #6192

* Update screenshots

* Remove ComposerAlertLevel.Default (not in the design).

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2026-03-03 14:42:27 +01:00
Jorge Martin Espinosa
9c8757e38b Use ShareIntentHandler early to avoid distributing the whole intent (#6274)
* Use `ShareIntentHandler` early to avoid distributing the whole intent

This would make the intent be serialized as part of `NavTarget` and could potentially lead to `TransactionTooLargeException`s.

We now pass a new `ShareIntentData` class around, containing the minimum amount of data needed. We also have a new `OnSharedData` post-processor to revoke uri access after they've been shared.

* Move `UriToShare` next to `ShareIntentData` and add docs
2026-03-03 13:12:33 +00:00