Commit graph

889 commits

Author SHA1 Message Date
Benoit Marty
f76d817b4e
Merge pull request #5852 from element-hq/renovate/io.nlopez.compose.rules-detekt-0.x
fix(deps): update dependency io.nlopez.compose.rules:detekt to v0.5.1
2025-12-08 15:05:12 +01:00
Jorge Martín
9c7ba58114 Don't re-schedule notification fetches if the cause of the failure is SessionRestorationException, since that means it'll most likely fail again 2025-12-05 17:42:57 +01:00
Jorge Martín
10224d8e01 Add SessionRestorationException, make sure ClientException can expose it through the cause property 2025-12-05 17:42:57 +01:00
Benoit Marty
54e742075d Detekt: enable rule exceptions.SwallowedException and fix existing issue. 2025-12-05 09:45:23 +01:00
ganfra
a52e1c28d1
Merge branch 'develop' into feature/fga/space_invite_notification 2025-12-04 15:53:49 +01:00
ganfra
236db9e35d change(notification): handle invite notification for spaces 2025-12-04 12:25:30 +01:00
Jorge Martín
883397e9dc Enable Sentry in the SDK: add SDK Sentry DSN value
This is provided to the SDK in `PlatformInitializer`.
2025-12-04 12:17:52 +01:00
ganfra
1410563643
Merge pull request #5832 from element-hq/feature/fga/fix_owner_admin_displayed_twice
fix: usersWithRole(Owner) returns creators only if privilegedCreatorRole is true
2025-12-03 18:19:20 +01:00
ganfra
a371fe95ef
quality: remove useless parenthesis
Co-authored-by: Benoit Marty <benoitm@element.io>
2025-12-03 17:45:37 +01:00
ganfra
be90afe22b fix: rely only on RoomMember Role values instead of using the powerLevel. 2025-12-02 21:42:29 +01:00
ganfra
7115bd3434 change(room member): make sure we never display name/avatar when a member is banned 2025-11-27 18:08:00 +01:00
ganfra
4af4944a55 deps: fix api break 2025-11-26 17:03:27 +01:00
ganfra
b04524e566 misc : use new_latest_event api (+ some renaming) 2025-11-26 10:58:16 +01:00
ganfra
1246bfa21e deps(sdk) : add fallbackToServer on userIdentity api. 2025-11-24 20:22:11 +01:00
ganfra
fe65ba1839 deps(sdk): fix api usages 2025-11-19 13:07:59 +01:00
Benoit Marty
dc65191e2c Improve API: use RoomId instead of String. 2025-11-19 10:14:03 +01:00
Benoit Marty
2bdac6d81a
Merge pull request #5755 from element-hq/feature/bma/cleanupDb
Remove unused `slidingSyncProxy` from DB.
2025-11-18 17:42:09 +01:00
Benoit Marty
310848ee38
Merge pull request #5722 from element-hq/feature/bma/moduleCleanup
Module cleanup
2025-11-18 16:14:10 +01:00
Benoit Marty
a9ae55703a Remove unused slidingSyncProxy from DB. 2025-11-18 15:58:22 +01:00
ganfra
9618e9ad51 quality : format code 2025-11-13 16:00:07 +01:00
ganfra
7400fd6c84 Merge branch 'develop' into feature/fga/members_improvements 2025-11-13 14:30:29 +01:00
Benoit Marty
8285478688 API modules do not need to setup dependency injection.
Move the implementation to the impl modules.
2025-11-12 19:05:39 +01:00
ganfra
3cc455c1aa change(room members): makes sure to subscribe to timeline items changes 2025-11-12 17:53:52 +01:00
Benoit Marty
eb31505dc7 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty
f86431e663 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty
c4e0370f41 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
Benoit Marty
70e3e768aa Avoid usage of not() and add unit tests. 2025-11-07 10:18:45 +01:00
Benoit Marty
98792c9562 Improve error mapping 2025-11-07 10:08:14 +01:00
Benoit Marty
e12726f405 Improve error mapping 2025-11-07 09:52:04 +01:00
Benoit Marty
6617db0ce6 MatrixHomeServerDetails does not need to be Parcelable 2025-11-06 14:32:00 +01:00
Benoit Marty
0be6d13025 MatrixAuthenticationService: remove fun getHomeserverDetails(): StateFlow<MatrixHomeServerDetails?>. The MatrixHomeServerDetails are now return by setHomeserver 2025-11-06 12:22:48 +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
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
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
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
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
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
263e761907 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +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
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
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