element-x-ada/libraries
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
..
accountselect Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
androidutils When linkifying, adjust the URLSpan's url too (#6188) 2026-02-12 12:12:57 +00:00
architecture change(space) : last admin navigate to security&privacy 2025-12-15 20:46:23 +01:00
audio set willPausedWhenDucked to true for RecordVoiceMessage 2026-02-12 19:50:11 +01:00
compound Update screenshots 2026-03-02 12:19:18 +00:00
core Remove unused withoutAccents extension function 2026-02-02 10:21:25 +01:00
cryptography Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
dateformatter Sync Strings from Localazy (#5904) 2025-12-15 23:51:19 +01:00
deeplink Use the raw expected string for DefaultDeepLinkCreatorTest cases 2025-12-10 15:58:41 +01:00
designsystem Remove ComposerAlertLevel.Default (not in the design). 2026-03-02 13:56:08 +01:00
di Inject SentryDsn the same way we do with SentrySdkDsn so we can fake it for tests 2025-12-18 14:08:38 +01:00
encrypted-db Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
eventformatter Sync Strings from Localazy (#6085) 2026-01-26 12:06:38 +01:00
featureflag Enable space feature flags by default 2026-02-10 16:33:10 +01:00
fullscreenintent Detekt: enable rule exceptions.SwallowedException and fix existing issue. 2025-12-05 09:45:23 +01:00
indicator Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
maplibre-compose Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
matrix Simplify push notification flow by using locally stored values for pending pushes (#6258) 2026-03-03 15:14:36 +00:00
matrixmedia Apply suggestion: 2026-02-27 09:52:17 +01:00
matrixui Fix formatting 2026-02-06 12:03:17 +01:00
mediapickers API modules do not need to setup dependency injection. 2025-11-12 19:05:39 +01:00
mediaplayer Merge branch 'develop' into feat/variable-playback-speed 2025-12-30 21:29:18 +01:00
mediaupload Remove all video metadata (#6224) 2026-02-18 16:51:44 +00:00
mediaviewer Merge pull request #6035 from element-hq/fix/remove-fragment-part-in-mxc-urls 2026-03-03 11:57:49 +01:00
network Enable logging OkHttp traffic based on the current log level (#5750) 2025-11-18 15:18:27 +01:00
oidc Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
permissions Update metro to v0.11.2 (#6270) 2026-03-03 13:39:43 +01:00
preferences Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
previewutils Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
push Simplify push notification flow by using locally stored values for pending pushes (#6258) 2026-03-03 15:14:36 +00:00
pushproviders Update metro to v0.11.2 (#6270) 2026-03-03 13:39:43 +01:00
pushstore Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
qrcode Link new device using QrCode. 2025-12-16 16:14:04 +01:00
recentemojis API modules do not need to setup dependency injection. 2025-11-12 19:05:39 +01:00
roomselect Add tests and clean code after RoomList Filter rework 2026-01-30 15:33:51 +01:00
rustsdk
session-storage Simplify push notification flow by using locally stored values for pending pushes (#6258) 2026-03-03 15:14:36 +00:00
testtags Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
textcomposer Sync compound tokens https://github.com/element-hq/compound-design-tokens/releases/tag/v6.10.1 (#6273) 2026-03-03 14:42:27 +01:00
troubleshoot Update metro to v0.11.2 (#6270) 2026-03-03 13:39:43 +01:00
ui-common Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
ui-strings Sync Strings from Localazy (#6269) 2026-03-02 14:54:50 +01:00
ui-utils Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
usersearch Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
voiceplayer Apply suggestion: 2026-02-27 09:52:17 +01:00
voicerecorder Add unit test to ensure that number of levels is limited. 2025-11-27 09:30:22 +01:00
wellknown Let enterprise build be able to use a different notification channel for noisy notification. 2026-02-11 11:57:01 +01:00
workmanager Simplify push notification flow by using locally stored values for pending pushes (#6258) 2026-03-03 15:14:36 +00:00