Commit graph

1854 commits

Author SHA1 Message Date
Benoit Marty
b366446cab Let the composer takes at max half of the available height. The value will be different if the soft keyboard is displayed or not.
Closes #3851
2025-12-02 16:36:30 +01:00
Jorge Martín
7a1dd24dbd Make sure we don't finish NotificationTapOpensTimeline until we've actually rendered the timeline event we need to focus on 2025-11-28 14:15:54 +01:00
Jorge Martín
29117ce93d Add AnalyticsService.cancelLongRunningTransaction and AnalyticsService.finishLongRunningTransaction 2025-11-28 14:15:54 +01:00
Jorge Martín
93feed38bf Add transaction trees for opening a room so we can have a nice trace view 2025-11-28 14:15:54 +01:00
Jorge Martín
2a011bf072 Add OpenRoom long running analytic transaction 2025-11-28 14:15:54 +01:00
Jorge Martín
5681d7c611 Add a performance check for notification tap -> populated timeline time 2025-11-28 14:15:54 +01:00
ganfra
e3315406c5 Merge pull request #5809 from element-hq/feature/fga/new_latest_event
misc : use newLatestEvent api from sdk
2025-11-26 12:30:34 +01:00
ganfra
ca526580fd misc : use new_latest_event api (+ some renaming) 2025-11-26 10:58:16 +01:00
Benoit Marty
4ec096511b hasSize(0) -> isEmpty() 2025-11-25 17:03:00 +01:00
ElementBot
42dd6c3544 Sync Strings from Localazy (#5782)
Co-authored-by: jmartinesp <480955+jmartinesp@users.noreply.github.com>
2025-11-20 15:25:19 +00:00
Benoit Marty
2861d1cf8e Ensure that htmlConverterProvider is initialized when viewing Pinned events. Fixes #5763 2025-11-19 14:37:19 +01:00
Benoit Marty
de2ab5a557 Merge pull request #5722 from element-hq/feature/bma/moduleCleanup
Module cleanup
2025-11-18 16:14:10 +01:00
Jorge Martin Espinosa
6bdb4d1ad4 Send read receipts using the current timeline, not the live timeline (#5731)
This fixes sending read receipts in threaded timelines.
2025-11-17 13:33:17 +01:00
Benoit Marty
8878c9595a Merge pull request #5721 from element-hq/feature/bma/matrixUiModules
Let notifications use avatar fallback.
2025-11-13 10:22:39 +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
30d39a3290 Ensure bottom sheet is collapsed when leaving RTE mode. Closes #5635 2025-11-10 16:59:36 +01:00
Benoit Marty
c62f834917 Format - no other change. 2025-11-10 16:59:00 +01:00
Benoit Marty
a902533247 Rename MessageComposerEvents to MessageComposerEvent 2025-11-10 16:29:30 +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
f32e893361 Merge pull request #5698 from element-hq/feature/bma/handleEvent
Code consistency around view event handling
2025-11-10 09:36:04 +01:00
Benoit Marty
cffd4c31c9 Fix compilation issue 2025-11-07 13:35:23 +01:00
Benoit Marty
81aebba8cb Rename parameter to event for code consistency 2025-11-07 12:28:16 +01:00
Benoit Marty
cf19daf3a4 Rename handleEvents to handleEvent 2025-11-07 12:21:43 +01:00
Benoit Marty
4283fe8634 Update how eventSink is used in DefaultVoiceMessageComposerPresenter 2025-11-07 12:18:47 +01:00
Skye Elliot
87ef2179a1 feat: Convert ComposerAlertMolecule to use alert levels. 2025-11-06 12:44:02 +00:00
Benoit Marty
a1e270578a 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
0743b56bc4 Always use the handleEvent(s) function the same way. 2025-11-03 18:49:00 +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
Jorge Martín
7421e6545c 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
Jorge Martín
d373cbe8a7 Create PinnedEventsTimelineProvider, expose it in TimelineBindings 2025-11-03 14:43:18 +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
0303ac502a More renaming 2025-10-30 16:32:54 +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
45b5783b23 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
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
725e6c9855 Rename fun. 2025-10-29 09:04:58 +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
Benoit Marty
e9cfce915a Extract code for forwarding Event to its own modules. 2025-10-28 15:42:39 +01:00
ElementBot
b2aa6b1622 Sync Strings from Localazy (#5610)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-10-27 13:53:07 +01: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