Commit Graph

528 Commits

Author SHA1 Message Date
Benoit Marty
24b76f2001 Fix crash when clicking fast on back key on the Add account screen. 2025-11-21 15:51:11 +01:00
Benoit Marty
45fe9cfc97 Fix navigation issue once incoming share is handled 2025-11-19 23:05:49 +01:00
Jorge Martin Espinosa
c6c2f4a267 Add some performance metrics for Sentry (#5760)
- Add `AnalyticsService.startTransaction(...)` to start a logging transaction that can be uploaded to Sentry if the user enabled the analytics upload.
- Add `AnalyticsTransaction` wrapper to abstract the Sentry ones.
- Added several helper methods to improve the UX around these transactions.
- Then measure:
  - Time until the first sync, and how it ended.
  - Time until the first rooms are displayed.
  - Time to load a room or a preview.
  - Time to load a timeline.
2025-11-19 11:42:55 +00:00
Benoit Marty
de2ab5a557 Merge pull request #5722 from element-hq/feature/bma/moduleCleanup
Module cleanup
2025-11-18 16:14:10 +01:00
Benoit Marty
13854bb2c7 Ensure that disabling (resp. enabling) notification unregisters (resp. registers) the pusher 2025-11-13 17:50:21 +01:00
Benoit Marty
b3ec256dfa API modules do not need to setup dependency injection.
Move the implementation to the impl modules.
2025-11-12 19:05:39 +01:00
Benoit Marty
185d4fadde Let notifications use avatar fallback.
Extract code which handles Matrix image to its own api / impl / test modules.
2025-11-12 11:28:42 +01:00
Benoit Marty
1292da2a72 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty
b748fcc631 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty
0a0224b586 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
Benoit Marty
cf19daf3a4 Rename handleEvents to handleEvent 2025-11-07 12:21:43 +01:00
ganfra
a33d4e8b42 Merge pull request #5668 from element-hq/feature/fga/space_settings
Space : prepare Space Settings screen
2025-11-05 16:18:09 +01:00
Benoit Marty
0367ae610c Session database: use the new count API. 2025-11-04 15:30:29 +01:00
Benoit Marty
c13fafd836 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
5b18f6f93e Code cleanup 2025-11-03 15:53:31 +01:00
Benoit Marty
876f692f3f Rename MessagesEntryPointNode to MessagesEntryPoint.NodeProxy for consistency. We already have a NodeProxy. 2025-11-03 15:17:27 +01:00
ganfra
1ff48467c6 Merge branch 'develop' into feature/fga/space_settings 2025-11-03 15:02:28 +01:00
Jorge Martín
0bed2ae386 Use the new fromPinnedEvents parameter in JoinedRoomLoadedFlowNode through TimelineBindings 2025-11-03 14:44:29 +01:00
Jorge Martín
d373cbe8a7 Create PinnedEventsTimelineProvider, expose it in TimelineBindings 2025-11-03 14:43:18 +01:00
Benoit Marty
2fd777c2db Fix navigation issue. 2025-11-03 13:46:14 +01:00
ganfra
5f7fda2402 feature(space) : plumb up space settings screen 2025-10-31 15:01:03 +01:00
ganfra
9d3b7de0d8 feature(space) : remove dead code
# Conflicts:
#	appnav/src/main/kotlin/io/element/android/appnav/room/RoomFlowNode.kt
2025-10-31 14:56:14 +01:00
Benoit Marty
e70d767183 Remove context(parentNode: Node) and provide the parent Node as a parameter. 2025-10-31 12:04:57 +01:00
Benoit Marty
187479849d Create Fake classes in test modules 2025-10-30 18:32:31 +01:00
Benoit Marty
05c5f3c914 Use context parameter for the parentNode 2025-10-30 16:32:53 +01:00
Benoit Marty
566515ca88 Remove NodeBuilder to ensure that Params and Callback are always provided. 2025-10-30 16:32:52 +01:00
Benoit Marty
5197154f54 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
09a18ad7ca Rename fun in Callback for clarity. 2025-10-30 16:32:48 +01:00
Jorge Martin Espinosa
7facc40771 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
1f5f6896c6 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
cc050a1f26 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
725e6c9855 Rename fun. 2025-10-29 09:04:58 +01:00
Benoit Marty
93b1c9e597 Improve code on ShareNode 2025-10-29 09:03:37 +01:00
Benoit Marty
21bae4aee2 Add Forward action to MediaDetailsBottomSheet. Closes #5454
Improve API of Callback when forwarding Event.
2025-10-28 18:13:53 +01:00
ganfra
212084866c feature(space): add view members entry 2025-10-28 11:21:10 +01:00
ganfra
1b7eb87441 misc(navigation) : fix and add test on JoinedRoomLoadedFlowNode 2025-10-27 13:54:33 +01:00
ganfra
2949dfb426 misc(navigation) : add onDetailsClick on SpaceView 2025-10-27 10:11:57 +01:00
ganfra
d87c484dd8 misc(navigation) : use JoinedRoomLoadedFlowNode as parent of SpaceFlowNode 2025-10-24 16:26:54 +02:00
Benoit Marty
c53dabce16 Remove dependency on AppNavigationStateService from DefaultGetCurrentPushProvider 2025-10-23 15:03:04 +02:00
Benoit Marty
826cacf209 Remove @Inject, not necessary anymore when class is annotated with @ContributesBinding 2025-10-22 18:52:37 +02:00
Benoit Marty
acdef75949 Merge remote-tracking branch 'origin/develop' into bma/brandColorFix 2025-10-22 12:27:00 +02:00
Benoit Marty
82c6aca7e5 Move SemanticColorsLightDark to compound module 2025-10-22 09:35:55 +02:00
Benoit Marty
c2c77aad2a Improve API and fix theme glitch when switching between accounts. 2025-10-22 09:32:15 +02:00
ganfra
68daf8d2cf misc: display offline banner directly in LoggedInFlowNode (and fix window insets) 2025-10-21 16:05:20 +02:00
Benoit Marty
0e4a3c8d12 Bug reporter: ensure the log are store in the correct folder. 2025-10-20 16:33:49 +02:00
Benoit Marty
7950cfc3b4 Merge pull request #5503 from element-hq/feature/bma/immutableCleanup
Do some cleanup on our immutable annotation usage
2025-10-10 17:42:26 +02:00
Benoit Marty
e6cd8d5fb5 Remove useless Immutable annotation 2025-10-09 18:22:33 +02:00
ganfra
b53cf19cc3 fix(image loader): makes sure SingletonImageLoader.setUnsafe is called when we resume 2025-10-09 18:06:55 +02:00
Benoit Marty
67c6a1bd5f Let MatrixClient exposes val instead of fun for the services. 2025-10-06 15:12:35 +02:00
Benoit Marty
92dfcc60ee Improve code. 2025-10-03 12:09:43 +02:00