Commit graph

5049 commits

Author SHA1 Message Date
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
ElementBot
287a017739 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
e70d767183 Remove context(parentNode: Node) and provide the parent Node as a parameter. 2025-10-31 12:04:57 +01:00
Benoit Marty
45400d70d2 Fix typo in package name. 2025-10-30 18:47:20 +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
596b7f00fc More renaming 2025-10-30 16:32:50 +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
Benoit Marty
8bfb86683d 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
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
ganfra
277dd528ee 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
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
08f75dda4c 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
2fe3bfb3bc Simplify the presenter 2025-10-28 18:21:06 +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
ganfra
212084866c feature(space): add view members entry 2025-10-28 11:21:10 +01:00
ganfra
d4de8224c0 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
048467b900 Revert "Make sure declining a call stops observing the ringing call state (#5…" (#5615)
This reverts commit 10bf5f1c8c.
2025-10-27 17:25:56 +01:00
ganfra
be6c8637de misc(navigation) : fix tests on space module 2025-10-27 14:15:32 +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
ganfra
0aff4e9779 Merge branch 'develop' into feature/fga/space_flow_inject_room 2025-10-27 11:41:26 +01:00
ganfra
2949dfb426 misc(navigation) : add onDetailsClick on SpaceView 2025-10-27 10:11:57 +01:00
ganfra
06c26582f2 misc(navigation) : makes SpaceFlowGraph child of RoomGraph 2025-10-24 20:48:22 +02:00
Benoit Marty
bb12a6f18b Merge pull request #5607 from element-hq/feature/bma/notificationStyle
Update notification style
2025-10-24 19:20:18 +02:00
Benoit Marty
0250e6fa75 Let notifications uses the brandColor. 2025-10-24 18:22:41 +02:00
ganfra
69b4fdec04 Fix ktlint 2025-10-24 18:15:15 +02:00
Benoit Marty
d8129e72bc Let notifications uses the brandColor. 2025-10-24 17:04:48 +02:00
ganfra
e689eaf73a 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
3010f9313b 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
009ceb8704 Clearing the room list search clears the search term too (#5603) 2025-10-24 09:30:10 +02:00
ganfra
6008af36ec 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
2de115d57b design(home) : better comment on padding 2025-10-23 18:00:33 +02:00
ganfra
05d5ec78bb design(home) : clean up 2025-10-23 17:22:39 +02:00
Benoit Marty
bc8db88a03 Add unit test on DefaultLockScreenService 2025-10-23 17:20:36 +02:00
ganfra
a5b4f50334 design(home) : allow scrolling to top when clicking on already selected tab 2025-10-23 17:00:40 +02:00
Benoit Marty
e427d8851e Remove dead code. 2025-10-23 16:52:24 +02:00
Benoit Marty
eee53d8bbf Delete the PIN code only when the last session is deleted. 2025-10-23 16:48:26 +02:00
Benoit Marty
66d8e6210d Add default implementation to SessionListener 2025-10-23 16:48:20 +02:00
ganfra
eb2b527236 design(home) : use enterAlwaysScrollBehavior for the RoomListFiltersView 2025-10-23 16:41:43 +02:00
Benoit Marty
44e125dbc7 Add parameter wasLastSession to SessionListener.onSessionDeleted 2025-10-23 16:20:15 +02:00
ganfra
0498c3e4ed design(home): makes HomeTopBar match design 2025-10-23 16:16:08 +02:00