Commit graph

5049 commits

Author SHA1 Message Date
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
Jorge Martín
4df7841452 Create PinnedEventsTimelineProvider, expose it in TimelineBindings 2025-11-03 14:43:18 +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
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
f1822c5afd Fix typo in package name. 2025-10-30 18:47:20 +01:00
Benoit Marty
6298209ad9 Create Fake classes in test modules 2025-10-30 18:32:31 +01:00
Benoit Marty
fd6493bf4e More renaming 2025-10-30 16:32:54 +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
2e8785b36b More renaming 2025-10-30 16:32:50 +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
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
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
ganfra
7baae58964
Merge pull request #5619 from element-hq/feature/fga/space_members
Space : add view members entry
2025-10-29 10:53:45 +01:00
Benoit Marty
bf26a8b93c Rename fun. 2025-10-29 09:04:58 +01:00
Benoit Marty
70cbf3c090 Improve code on ShareNode 2025-10-29 09:03:37 +01:00
Benoit Marty
26ce78d27d
Confirm exit without saving change in room details edit screen (#5618)
* Room details edit screen: add confirmation dialog when leaving without saving pending changes.

* Improve preview coverage.

* Update screenshots

* Introduce AsyncAction.ConfirmingCancellation and use it for leaving room edition without saving change.

* Fix issue in comment

* Use new `ConfirmingCancellation` object in Change Roles screen

---------

Co-authored-by: ElementBot <android@element.io>
2025-10-28 18:25:51 +01:00
Benoit Marty
5d021a557c Simplify the presenter 2025-10-28 18:21:06 +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
Benoit Marty
7f22777ad9 Extract code for forwarding Event to its own modules. 2025-10-28 15:42:39 +01:00
ganfra
52f48268b1 feature(space): add view members entry 2025-10-28 11:21:10 +01:00
ganfra
83d8151012
Merge pull request #5614 from element-hq/feature/fga/space_flow_inject_room
Misc : space flow inject room
2025-10-28 10:05:04 +01:00
Jorge Martin Espinosa
2af5570231
Revert "Make sure declining a call stops observing the ringing call state (#5…" (#5615)
This reverts commit 651263111e.
2025-10-27 17:25:56 +01:00
ganfra
ef52fb38f2 misc(navigation) : fix tests on space module 2025-10-27 14:15:32 +01:00
ElementBot
b1addb4521
Sync Strings from Localazy (#5610)
Co-authored-by: bmarty <3940906+bmarty@users.noreply.github.com>
2025-10-27 13:53:07 +01:00
ganfra
819e916e3c Merge branch 'develop' into feature/fga/space_flow_inject_room 2025-10-27 11:41:26 +01:00
ganfra
7f04a9fcf7 misc(navigation) : add onDetailsClick on SpaceView 2025-10-27 10:11:57 +01:00
ganfra
da95a4b838 misc(navigation) : makes SpaceFlowGraph child of RoomGraph 2025-10-24 20:48:22 +02:00
Benoit Marty
a9bc148d00
Merge pull request #5607 from element-hq/feature/bma/notificationStyle
Update notification style
2025-10-24 19:20:18 +02:00
Benoit Marty
b6b0ad91ce Let notifications uses the brandColor. 2025-10-24 18:22:41 +02:00
ganfra
450aaf1ef3 Fix ktlint 2025-10-24 18:15:15 +02:00
Benoit Marty
6e9af83b6a Let notifications uses the brandColor. 2025-10-24 17:04:48 +02:00
ganfra
72fda96df1 design(space): let divider be full width
# Conflicts:
#	features/home/impl/src/main/kotlin/io/element/android/features/home/impl/spaces/HomeSpacesView.kt
2025-10-24 16:07:16 +02:00
Benoit Marty
f1b8f878de
Merge pull request #5600 from element-hq/feature/bma/deletePinCode
Delete pin code only when the last session is deleted
2025-10-24 09:47:57 +02:00
Jorge Martin Espinosa
51bf99cfba
Clearing the room list search clears the search term too (#5603) 2025-10-24 09:30:10 +02:00
ganfra
0745f308c5
Merge pull request #5599 from element-hq/feature/fga/home_topbar_2
Design : update Home TopBar and RoomList Filters
2025-10-23 18:29:40 +02:00
ganfra
b779ac0086 design(home) : better comment on padding 2025-10-23 18:00:33 +02:00
ganfra
318ad1edbd design(home) : clean up 2025-10-23 17:22:39 +02:00
Benoit Marty
85035da028 Add unit test on DefaultLockScreenService 2025-10-23 17:20:36 +02:00
ganfra
21c21259cb design(home) : allow scrolling to top when clicking on already selected tab 2025-10-23 17:00:40 +02:00
Benoit Marty
7cea6f0f8f Remove dead code. 2025-10-23 16:52:24 +02:00
Benoit Marty
0284fd22e8 Delete the PIN code only when the last session is deleted. 2025-10-23 16:48:26 +02:00
Benoit Marty
a18eb6eb5e Add default implementation to SessionListener 2025-10-23 16:48:20 +02:00
ganfra
dfb9bc5ab0 design(home) : use enterAlwaysScrollBehavior for the RoomListFiltersView 2025-10-23 16:41:43 +02:00
Benoit Marty
9ca5fbdc08 Add parameter wasLastSession to SessionListener.onSessionDeleted 2025-10-23 16:20:15 +02:00
ganfra
0a999016f7 design(home): makes HomeTopBar match design 2025-10-23 16:16:08 +02:00