* 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
* 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
* Only offer to verify if a cross-signed device is available
* Fix tests
* use the right exception mapper
* adjust flag name and logic in ChooseSelfVerificationState
* add comment
* switch order of states to match previous logic
* Implement navigation to event inside a thread when a permalink is used
* Fix permalink navigation in threads to rooms
* Fix navigating to a different thread from a permalink in an existing thread
* Fix tests
* Add missing tests for thread navigation
* Reduce number of diff between ThreadedMessagesNode.kt and MessagesNode.kt
* Navigate back to the room when a link to the current room is clicked in a thread.
---------
Co-authored-by: Benoit Marty <benoitm@element.io>
Co-authored-by: Benoit Marty <benoit@matrix.org>
* Use shared recent emoji reactions from account data
- Add `AddRecentEmoji` and `GetRecentEmojis` use cases to avoid injecting the whole `MatrixClient` for just one of these operations.
- Update the UI and logic of the emoji picker and message context menu to include the recent emojis.
- Add `CoroutineDispatchers.Default` with the defaults coroutines to use in the app for ease of use.
* Instead of replacing suggested emojis, concatenate recent ones removing duplicates
* Update screenshots
---------
Co-authored-by: ElementBot <android@element.io>
* Upgrade Rust SDK bindings to `v25.09.15`:
This contains important changes to the APIs used to build the EC widget.
* Use the new `intent` parameter correctly, by calculating locally its behaviour based on whether the room is a DM and there is an ongoing call or not.
Using just the `intent` parameter is our end goal, but sadly this is not fully supported by the current EC embedded `v0.15.0`, so we need to add a workaround using the `skipLobby` and `preload` parameters.
* feature(spaces) : introduce SpaceRoomList matrix api
* feature (space) : extract SpaceRoomItemView
* feature(spaces) : start introducing SpaceScreen
* feature (space) : iterate on space list (and space screen)
* feature (space) : add space cache and navigation to sub space/room
* feature (space) : display top bar title
* Code cleanup, remove dead code and fix compilation issue
* More compilation fixes.
* Update screenshots
* Fix test compilation issues.
* Introduce MatrixClient.rememberHideInvitesAvatar() extension to reduce code duplication.
* Add test on SpacePresenter
* Add test on SpaceRoomCache and fix implementation
* Iterate on SpaceRoomCache thanks to SpaceRoomCacheTest
* Add UT on SpaceListUpdateProcessor
* Fix quality issue.
* Add tests on RustSpaceRoomList
---------
Co-authored-by: ganfra <francoisg@matrix.org>
Co-authored-by: ElementBot <android@element.io>