Commit graph

1701 commits

Author SHA1 Message Date
Benoit Marty
57ac39673d Notification: show userId in notification when several accounts are configured. 2025-10-31 09:25:01 +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
Benoit Marty
eef0fbf4be Fix "Arrow is redundant when parameter list is empty"
And other issues that ktlint now reports
2025-10-30 14:33:25 +01:00
Jorge Martin Espinosa
6c3b280ecd
Fix marking a room as read re-instantiates its timeline (#5628)
* Add `Timeline.markAsRead` to avoid reinstantiating the timeline using `Room.markAsRead`

* Mark as read when exiting the room screen, destroy the timeline when fully closed

* Ensure `MarkAsFullyReadAndExit` event can only be processed once

* Fix `DelayedVisibility` not being displayed in previews
2025-10-30 08:39:06 +01:00
renovate[bot]
bb61126c96
fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.10.29 (#5625)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.10.29

* Rename `NoPointer` to `NoHandle` for the Rust FFI fakes

* `@Ignore` tests broken by FFI direct mapping

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-10-29 22:56:03 +01:00
Benoit Marty
f75a2cc12c Merge branch 'develop' into feature/bma/mediaForward
# Conflicts:
#	appnav/src/main/kotlin/io/element/android/appnav/room/joined/JoinedRoomLoadedFlowNode.kt
2025-10-29 12:41:58 +01:00
Benoit Marty
95c735a90e Add Forward action to MediaDetailsBottomSheet. Closes #5454
Improve API of Callback when forwarding Event.
2025-10-28 18:13:53 +01:00
Jorge Martín
0d40a2fd79 Fix api breaks:
- `ComposerDraft` now takes a list of media attachments.
- `HumanQrLoginException` has a couple of new cases.
- `Client.loginWithQrCode` now returns a `LoginWithQrCodeHandle`, which we need to call using `scan` to have the same behaviour as before.
2025-10-28 17:14:40 +01:00
Benoit Marty
7f22777ad9 Extract code for forwarding Event to its own modules. 2025-10-28 15:42:39 +01:00
Benoit Marty
6e9af83b6a Let notifications uses the brandColor. 2025-10-24 17:04:48 +02:00
Benoit Marty
76493f52ec
Merge branch 'develop' into feature/bma/metro070 2025-10-23 11:30:25 +02:00
Benoit Marty
263e761907 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +02:00
Benoit Marty
5b5c007cd2 Improve API of interface WellknownRetriever to be able to distinguish between 404 and other errors. 2025-10-22 15:28:31 +02:00
Jorge Martin Espinosa
5b1bfac6ff
Allow uploading notification push rules in bug reports (#5538)
* Allow uploading push rules in bug reports

* Improve bug report screen previews

* Update screenshots

---------

Co-authored-by: ElementBot <android@element.io>
2025-10-15 11:45:04 +02:00
Benoit Marty
a5198b4f6a Fix API break on voice messages. 2025-10-13 17:12:34 +02:00
Benoit Marty
83c695d695 Fix API break in QrCodeLoginStep. 2025-10-13 15:52:06 +02:00
Benoit Marty
009437a998 Make Timeline.Mode stable 2025-10-09 18:22:40 +02:00
Benoit Marty
08e2209f8b Make VerificationRequest stable 2025-10-09 18:22:38 +02:00
Benoit Marty
c494cb952a Make Outgoing stable 2025-10-09 18:22:36 +02:00
Benoit Marty
271ae19436 Remove useless Immutable annotation 2025-10-09 18:22:33 +02:00
Benoit Marty
a6f84e3364 Make Role stable 2025-10-09 18:22:30 +02:00
Benoit Marty
9410a727b6 Rename RoomDirectoryList.State to RoomDirectoryList.SearchResult to avoid this class to be checked for stability. 2025-10-09 18:22:27 +02:00
Benoit Marty
c08590a8de Fix Detekt issue. 2025-10-09 12:06:58 +02:00
Benoit Marty
4308f55473
Merge pull request #5314 from uhoreg/separate_import_error
Fix error when attempting to verify with recovery key with missing backup key
2025-10-09 12:02:56 +02:00
Benoit Marty
c2560ad91c
Merge pull request #5490 from element-hq/feature/bma/improveImmutables
Ensure that we are using Immutable instead of Persistent
2025-10-09 11:48:32 +02:00
Benoit Marty
865b0ec365 Let SpaceRoom be stable the proper way. 2025-10-08 16:42:48 +02:00
Benoit Marty
67c9daa0bf Add Konsist test to check that toPersistentList() is not used.
Same for `toPersistentSet()` and `toPersistentMap()`.
Fix existing issues.
2025-10-08 15:51:18 +02:00
ganfra
0b0458c22e feature(space): makes sure SpaceRoom is marked as Immutable 2025-10-08 14:07:57 +02:00
Benoit Marty
1cd8a2a205
Fix import ordering 2025-10-08 12:18:00 +02:00
ganfra
44c6ce01dc feature(space): use SpaceRoom.displayName from sdk 2025-10-07 20:15:46 +02:00
Benoit Marty
d475d948d6 Map SpaceRoom.displayName 2025-10-07 18:07:27 +02:00
Benoit Marty
1b05664a9c Fix API break. 2025-10-07 18:05:55 +02:00
Benoit Marty
cbfd0d2675
Remove duplicated code. 2025-10-07 17:25:44 +02:00
Benoit Marty
d9e8016c38
Remove duplicate Import class in RecoveryException 2025-10-07 17:25:12 +02:00
Benoit Marty
700ea331fe
Merge branch 'develop' into separate_import_error 2025-10-07 17:23:19 +02:00
ganfra
a497703a90
Merge pull request #5468 from element-hq/feature/fga/space_tweaks
Spaces : some tweaks around ui
2025-10-07 10:55:05 +02:00
ganfra
17f9673a0f feature(space): introduce SpaceRoomVisibility and remove room count 2025-10-06 20:50:05 +02:00
Benoit Marty
d1cbf69af8 appCoroutineScope does not have to be a class member. 2025-10-06 16:16:19 +02:00
Benoit Marty
b94925c878 Remove unused getCacheSize File receiver.
The path are manager by the sessionData now.
2025-10-06 16:16:18 +02:00
Benoit Marty
5afb048928 Use base type. 2025-10-06 15:13:44 +02:00
Benoit Marty
cef55121cc Naming convention and use MatrixMediaLoader instead of MatrixClient for Coil factories. 2025-10-06 15:13:41 +02:00
Benoit Marty
e0dffa4a46 Naming convention 2025-10-06 15:12:36 +02:00
Benoit Marty
77647a3f11 Let MatrixClient exposes val instead of fun for the services. 2025-10-06 15:12:35 +02:00
ganfra
8d94df09ac feature(space): compute space room name locally 2025-10-06 14:21:01 +02:00
Hubert Chathi
d2e5b43674
Only offer to verify if a cross-signed device is available (#5433)
* Only offer to verify if a cross-signed device is available

* Fix tests

* use the right exception mapper

* adjust flag name and logic in ChooseSelfVerificationState

* add comment

* switch order of states to match previous logic
2025-10-06 12:40:52 +02:00
Benoit Marty
97ae89ed96
Merge pull request #5451 from element-hq/feature/bma/spaceAnnoucement
Space annoucement
2025-10-03 16:48:49 +02:00
Benoit Marty
0c63d0cb4f
Merge pull request #5432 from element-hq/feature/bma/leaveSpace
Leave space: use SDK API.
2025-10-03 16:43:45 +02:00
ganfra
0bec8f038c
Merge pull request #5449 from element-hq/feature/fga/room_list_space_invite
Room list space invite
2025-10-03 13:17:28 +02:00
Benoit Marty
831eaca43d Add unit test on SpaceAnnouncementPresenter 2025-10-03 09:54:42 +02:00