Commit graph

4577 commits

Author SHA1 Message Date
Benoit Marty
ba0c659df1
Merge pull request #5645 from element-hq/feature/bma/mutliAccountNotification
Improve rendering notification for multi account
2025-11-05 18:08:20 +01:00
Benoit Marty
cf742b42d0 Fix test. 2025-11-05 11:47:51 +01:00
Benoit Marty
1d79ab88bd Do not use the bastDescription but the cation for image/video/sticker because else the filename will be rendered in the notification and for media we do not want that.
Also fixes the issue when images is not rendered on some system and so they can be empty notification.

Closes #3945
2025-11-05 11:00:13 +01:00
Benoit Marty
172d1ab9c4
Merge pull request #5677 from element-hq/feature/bma/loadingVerificationAction
Make sure we know the session verification state before showing the options to verify the session
2025-11-04 16:32:17 +01:00
Benoit Marty
af12ff3c9a Use new SessionStore API 2025-11-04 16:22:16 +01:00
Benoit Marty
1bba0d4dda Merge remote-tracking branch 'origin/develop' into feature/bma/mutliAccountNotification 2025-11-04 16:20:42 +01:00
Benoit Marty
d6360e82e0
Merge pull request #5678 from element-hq/feature/bma/countAccounts
Introduce new query to count accounts
2025-11-04 16:17:10 +01:00
Benoit Marty
d968d5aff0 Remove unused property 2025-11-04 15:53:50 +01:00
Benoit Marty
be807f4b5c Revert "NotificationDataFactory: improve API"
This reverts commit 7d7ea5d67c.

# Conflicts:
#	libraries/push/impl/src/test/kotlin/io/element/android/libraries/push/impl/notifications/NotificationDataFactoryTest.kt
2025-11-04 15:43:23 +01:00
Jorge Martin Espinosa
7aa564e74d
Use the SDK Client to check whether a homeserver is compatible (#5664)
* Use the SDK `Client` to check whether a HS is compatible

* Remove usage of unused `WellKnown`, keep `ElementWellKnown`

* Make `HomeServerLoginCompatibilityChecker.check` return `true/false` values to distinguish non-valid homeservers from a failed check

* Use `inMemoryStore` and `serverNameOrHomeserverUrl`

* Do some cleanup of `isValid` and `isWellknownValid`

* Make the debounce for starting the search a bit higher, as checking for the homeservers seems more resource-intensive now
2025-11-04 15:43:00 +01:00
Benoit Marty
85c9fd916b Session database: add count query. 2025-11-04 15:25:13 +01:00
Benoit Marty
ff67c8beef Make sure we know the session verification state before showing the option to verify the session. #5521 2025-11-04 12:19:09 +01:00
Benoit Marty
2939878daa
Merge pull request #5673 from element-hq/feature/bma/notificationSoundOnNightlies
Use the new notification sound only on debug and nightly build
2025-11-04 11:56:20 +01:00
Jorge Martin Espinosa
d6e0489701
Try fixing 'Timeline Event object has already been destroyed' (#5675)
This will display a fallback notification. I don't see how the current code could cause it, but I tried to re-structure it a bit so we don't have nested `use` usages and `timestamp` is fetched ahead of time.
2025-11-04 11:36:17 +01:00
Benoit Marty
2b08cb77ee
Merge pull request #5672 from element-hq/feature/bma/handleEvents
Always use the handleEvent(s) function the same way.
2025-11-04 11:20:22 +01:00
Benoit Marty
32b1856dbd
Merge pull request #5669 from element-hq/fix/forward-events-from-pinned-media-timeline
Fix forward events from media viewer from pinned media timeline
2025-11-04 09:52:01 +01:00
Benoit Marty
96e1406881 Move dependencies block out of the android block. 2025-11-03 22:29:38 +01:00
Benoit Marty
d7e328dca7 Need to provide matchingFallbacks 2025-11-03 22:18:50 +01:00
Benoit Marty
776d734557 Use the new notification sound only on debug and night 2025-11-03 19:08:49 +01:00
Benoit Marty
66c8bd8ffb
Revert "Update notification sound" 2025-11-03 18:53:30 +01:00
Benoit Marty
fdd4e2115c Always use the handleEvent(s) function the same way. 2025-11-03 18:49:00 +01:00
Benoit Marty
1f69db6180 Add test on forwarding from pinned event 2025-11-03 16:08:59 +01:00
Benoit Marty
927f42e029 Code cleanup 2025-11-03 16:07:13 +01:00
Benoit Marty
44f2b2f6df Code cleanup 2025-11-03 15:53:31 +01:00
Benoit Marty
b94d88eaa7 Update notification sound 2025-11-03 14:58:40 +01:00
Jorge Martín
753322d50e Pass around fromPinnedEvents so we can use it to decide whether to forward the event from the main timeline or the pinned events one 2025-11-03 14:43:57 +01:00
ElementBot
967dfe6a6b
Sync Strings from Localazy (#5662)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-11-03 10:58:12 +01:00
renovate[bot]
98acdadc6f
fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.10.31 (#5657)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.10.31

* Fix API breaks

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-11-03 10:48:06 +01:00
Benoit Marty
fa55bfe70f Improve code. 2025-10-31 19:15:19 +01:00
Jorge Martin Espinosa
1ea4eabcc5
Enable SyncNotificationsWithWorkManager by default in release mode apps too (#5646) 2025-10-31 16:25:36 +01:00
Benoit Marty
07b6148035 Remove context(parentNode: Node) and provide the parent Node as a parameter. 2025-10-31 12:04:57 +01:00
Benoit Marty
fed09eeefb Fix test. 2025-10-31 10:10:00 +01:00
Benoit Marty
6cbb679375 Fix issue after rebase. 2025-10-31 10:09:24 +01:00
Benoit Marty
2b98a26694 Remove obsolete TODO 2025-10-31 09:32:41 +01:00
Benoit Marty
e759dca9db Small cleanup 2025-10-31 09:32:40 +01:00
Benoit Marty
674814e322 Move call to setGroup to configureWith 2025-10-31 09:31:57 +01:00
Benoit Marty
3382aa2cfc Use TestScope.backgroundScope 2025-10-31 09:29:48 +01:00
Benoit Marty
04e5d684d4 Let DefaultNotificationDrawerManager use NotificationDisplayer instead of NotificationManagerCompat 2025-10-31 09:29:48 +01:00
Benoit Marty
f4f623c417 Create const for diagnostic tag. 2025-10-31 09:27:35 +01:00
Benoit Marty
6fe85dc579 Use better names for API. 2025-10-31 09:27:34 +01:00
Benoit Marty
7ee00a65d8 Rename OneShotNotification.key to OneShotNotification.tag for clarity. 2025-10-31 09:25:04 +01:00
Benoit Marty
7d7ea5d67c NotificationDataFactory: improve API 2025-10-31 09:25:03 +01:00
Benoit Marty
57ac39673d Notification: show userId in notification when several accounts are configured. 2025-10-31 09:25:01 +01:00
Benoit Marty
6298209ad9 Create Fake classes in test modules 2025-10-30 18:32:31 +01:00
Benoit Marty
f174084942 Use context parameter for the parentNode 2025-10-30 16:32:53 +01:00
Benoit Marty
02dc71c4c3 Remove NodeBuilder to ensure that Params and Callback are always provided. 2025-10-30 16:32:52 +01:00
Benoit Marty
be03c50aaf Ensure a Callback and only one is provided in the Plugin. Also reduce boilerplate code in Nodes. 2025-10-30 16:32:51 +01:00
Benoit Marty
43972dba68 Rename fun in Callback for clarity. 2025-10-30 16:32:48 +01:00
Jorge Martin Espinosa
353c00e032
Display only valid emojis in recent emoji list (#5612)
* Create `:libraries:recentemojis` and move `AddRecentEmoji` and `GetRecentEmojis` there

- Make sure `GetRecentEmojis` won't return duplicate or invalid emojis.
- `ActionListPresenter` now handles merging suggested and recent emojis, not `ActionListView`.
2025-10-30 15:27:51 +00:00
Jorge Martin Espinosa
eb08639776
Split notifications for messages in threads (#5595)
* Separate thread notifications into their own notifications when the feature flag is enabled.

Otherwise, set the `threadId` to null so it'll behave as usual. It's done this way to avoid having to inject `FeatureFlagService` in several places.

* Add permalink navigation to threads from notifications, focusing on the latest event in the list of messages of the notification tapped

* Fix redactions in threads

* Clear notifications for a thread when visiting it

* Fix opening a thread happening twice, first because of the `openThreadId` value, then because of the `focusedEventId` one

* Make opening a room through a notification also focus on the latest event

* Add helper `NotificationCreator.messageTag` function

* Remove unused `ROOM_CALL_NOTIFICATION_ID`: `FOREGROUND_SERVICE_NOTIFICATION_ID`+ `ForegroundServiceType` is used instead

* Simplify `DefaultDeepLinkCreator`

* Make sure the main timeline focuses on the thread root id too when navigating to a thread

* Handle "Mark as read" action for thread notification, using `timeline.markAsRead`

* Log failures to mark rooms as read using the notification action

---------

Co-authored-by: Benoit Marty <benoit@matrix.org>
2025-10-30 15:15:00 +00:00