Commit graph

5058 commits

Author SHA1 Message Date
Valere Fedronic
95049849cc
Merge branch 'develop' into valere/rtc/voice_call 2026-03-09 17:18:55 +01:00
ElementBot
73961b4940
Sync Strings (#6302)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-03-09 10:38:07 +01:00
Benoit Marty
53231cda14
Merge pull request #6292 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-26.x
Update dependency org.matrix.rustcomponents:sdk-android to v26.03.6
2026-03-06 16:38:30 +01:00
Jorge Martin Espinosa
2cfb7bfe55
Fix read receipts not appearing in threaded timelines (#6297) 2026-03-06 15:13:13 +00:00
Jorge Martin Espinosa
e821f75a88
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
Benoit Marty
c78038d5ad Add missing case for LiveLocation sharing. 2026-03-06 14:45:52 +01:00
Valere
14cea294bb Merge branch 'develop' into valere/rtc/voice_call 2026-03-06 12:22:28 +01:00
Valere
bad6085fb2 review: consistency use isAudioCall everywhere (instead of voiceOnly) 2026-03-06 12:19:05 +01:00
Benoit Marty
62cc23be22
Merge pull request #6284 from timurgilfanov/fix-6232
Fix typed text becoming invisible when composing long messages
2026-03-05 17:31:04 +01:00
Valere
874311011a fix tests 2026-03-05 12:14:42 +01:00
Timur Gilfanov
aeb42f72ca
Merge branch 'develop' into fix-6232 2026-03-05 13:34:09 +04:00
Valere
7897101009 fix test for voice call button 2026-03-05 10:09:10 +01:00
Timur Gilfanov
a8d6baee8c Fix Markdown text input losing scroll position while typing 2026-03-05 10:43:31 +04:00
Valere
f81f79f79a fix tests 2026-03-04 19:07:53 +01:00
Benoit Marty
c97bf08008 Rename our classes too. 2026-03-04 17:41:44 +01:00
Benoit Marty
5ac8d40ffe Fix API break. 2026-03-04 17:12:25 +01:00
Valere
0e3722e52e Merge branch 'develop' into valere/rtc/voice_call 2026-03-04 13:46:54 +01:00
Valere
be370911d2 rename voiceIntent to isAudioCall 2026-03-04 11:10:40 +01:00
Valere
7ef43abd57 Support incoming audio only calls 2026-03-04 08:56:33 +01:00
Jorge Martin Espinosa
68023b5c74
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
df6ffd0c57
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
renovate[bot]
2b04c4bfc0
Update metro to v0.11.2 (#6270)
* Update metro to v0.11.2

* Bind push tests to the right scope .Add a comment so we don't forget to do it for future ones.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-03-03 13:39:43 +01:00
Jorge Martin Espinosa
8fab22ec7d
Make 'room list catch-up' analytics transaction network aware (#6233)
* Make 'room list catch-up' analytics transaction network aware.
* Add `RoomListService.isInitialSyncDone`. Use this to simplify `DefaultAnalyticsRoomListStateWatcher`'s logic.
2026-03-03 13:16:58 +01:00
Benoit Marty
b65b9eeab9
Merge pull request #6035 from element-hq/fix/remove-fragment-part-in-mxc-urls
Add `MediaSource.safeUrl` for removing invalid fragment part from URLs
2026-03-03 11:57:49 +01:00
Valere
5491040ac5 WIP: Support using Element Call for voice calls in DMs 2026-03-03 11:50:22 +01:00
Benoit Marty
b0bcb248a1
Merge pull request #6241 from element-hq/feature/bma/fixRedactedNotification
Ensure that redacted event from encrypted room does not trigger a fallback notification
2026-03-03 11:43:45 +01:00
ElementBot
cf479a8df0
Sync Strings from Localazy (#6269)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2026-03-02 14:54:50 +01:00
Benoit Marty
9292a8efc7 Remove ComposerAlertLevel.Default (not in the design). 2026-03-02 13:56:08 +01:00
ElementBot
84b946f6d5 Update screenshots 2026-03-02 12:19:18 +00:00
Benoit Marty
de9987deea Use gradient color in ComposerAlertMolecule. Fixes #6192 2026-03-02 13:03:47 +01:00
Benoit Marty
cc0a9dc907 Fix compilation issue. 2026-03-02 12:44:58 +01:00
Benoit Marty
21aaa98d61 Use stop icon from Compound. 2026-03-02 12:42:45 +01:00
Benoit Marty
b27ab2ef0c Import compound token v6.10.1
./tools/compound/import_tokens.sh -b v6.10.1
2026-03-02 12:40:33 +01:00
Benoit Marty
04977f655f Fix API break. 2026-03-02 09:40:42 +01:00
Benoit Marty
8fc9354f77 Fix API break. 2026-03-02 09:18:43 +01:00
Benoit Marty
43319f6e90 Handle EventRedacted case. Fixes #5569 2026-03-02 09:15:53 +01:00
Jorge Martín
5fb9dcb0da Apply suggestion:
- Added `MediaSource.safeUrl` property replacing `withCleanUrl` method.
- Made `url` private so it can't be used externally.
- Reverted code in `CoilMediaFetcher`
- Also add tests
2026-02-27 09:52:17 +01:00
Jorge Martín
fecbabb0e4 Add MediaSource.withCleanUrl method that removes invalid fragment data from MXC urls
We've seen some MXC urls in the wild having some `mxc://foo/bar#auto` fragment suffix, which is invalid, but the URL before that fragment part is valid and can be displayed
2026-02-27 09:52:17 +01:00
Benoit Marty
e56c7e1227
Floating toolbar (#6147)
* Use floating toolbar on homepage

* Fix deprecation issue

* Create HorizontalFloatingToolbar wrapper in our components.

* Fix Konsist test.

* Fix compilation issue after rebase.

* Fix lint issue. `floatingActionButton` must be the last parameter.

* Add Preview for the case empty space.

* Fix navigation bar overlapping buttons in empty space view.

* Increase content padding, and apply it to the space tab too.

* Update screenshots

---------

Co-authored-by: chelsea <git@cdhildit.ch>
Co-authored-by: ElementBot <android@element.io>
2026-02-26 14:54:06 +01:00
renovate[bot]
896d62a81e
Update metro to v0.11.0 (#6245)
* Update metro to v0.11.0

* Fix `@AssistedInject` usages

Now the injected variables in the factories must match the names in the constructors

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-02-25 16:19:47 +01:00
Benoit Marty
86c7d04176 Create HorizontalFloatingToolbar wrapper in our components. 2026-02-25 15:51:20 +01:00
Benoit Marty
ff257164d3 Fix deprecation issue 2026-02-25 15:51:20 +01:00
Jorge Martin Espinosa
4fb6346d4b
Check if network access if blocked when fetching notifications (#6247)
* Add `NetworkMonitor.isNetworkBlocked()`, use it to check if Doze prevented us from loading notifications

* Only check if network is blocked after checking if we have a network available, otherwise it's always `true`

* Extract `NetworkBlockedChecker` to handle deprecations more carefully
2026-02-25 12:04:07 +00:00
Jorge Martin Espinosa
798f23316b
Add some DB optimizations (#6249)
* Set a maximum journal size limit (WAL file size) of 25MB

The previous value was null, which meant unlimited growth. This can affect performance, since the WAL file performance as a cache will worsen the larger it is

* When scheduling the vacuum task, make sure the user has enough free disk storage, since vacuuming can duplicate the DB sizes in disk
2026-02-25 11:59:21 +00:00
Jorge Martin Espinosa
ce3df764ba
Add extra analytics for notification performance (#6237)
* Add extra analytics for notification performance

Add technical spans to track how long a notification fetching work request takes to run, then how long it takes to actually fetch the events for the notifications

* Remove `withContext(io)` for `FetchNotificationsWorker`

The default `Dispatchers.Default` dispatcher used should be good enough and more performant

* Add network check span
2026-02-24 13:39:32 +01:00
Jorge Martin Espinosa
8877f1010c
Disable the cross-process lock in the SDK (#6231)
* Disable the cross-process lock in the SDK

We don't use multiple process as iOS does, so we don't need it. It should improve DB performance a bit and overall waste less resources.
2026-02-23 15:31:59 +00:00
Benoit Marty
1a99057b31
Merge pull request #6194 from vmfunc/feature/audio-focus-voice-recording
request audio focus when recording voice messages
2026-02-23 13:35:57 +01:00
bmarty
25c723c35a Sync Strings from Localazy 2026-02-23 00:39:49 +00:00
renovate[bot]
efb20985a0
Update dependency org.matrix.rustcomponents:sdk-android to v26.02.19 (#6229)
* Update dependency org.matrix.rustcomponents:sdk-android to v26.02.19

* Fix breaking API changes: added `isLowPriority` to `RoomInfo` and `RoomSummary`.

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2026-02-20 09:01:07 +01:00
Jorge Martin Espinosa
23f105442e
Remove all video metadata (#6224)
Use `InAppMp4Muxer` with a custom metadata provider that removes all metadata entries
2026-02-18 16:51:44 +00:00