* 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>
* Reload member list after moderation actions
The previous `runActionAndWaitForMembershipChange` logic wasn't really doing anything, as the modified flow was never used.
* Make sure we always set the value in the member list state flow, even if the underlying coroutine scope is no longer there.
With `emit`, the `Ready` state was not emitted if the member list was loaded way too fast.
* Add extra logs for sending media
We have some issues with stuck media uploads that could use some logs to understand where the process gets stuck.
* Fix mocks for test
* Allow replying to any remote message in a thread.
This will open the thread screen based on the selected event:
- If it was already part of a thread, it will open that thread.
- Otherwise, it'll open the thread timeline screen so you can start a thread from the event.
* Add the feature flag to decide which action to perform. Also, rename the feature flag to something easier to understand.
* Display the reply in thread action based on the feature flag too
---------
Co-authored-by: ElementBot <android@element.io>
* Report shortcut usage for outgoing messages
This patch adds support for creating and pushing dynamic
long-lived shortcuts for outgoing messages. This together
with an existing reference to the roomId used by the
shortcuts as an identifer allows conversations to be
prioritized.
See https://developer.android.com/training/sharing/direct-share-targets#report-usage-outgoing
* Simplify how to get the other user in a DM room
* Add initial avatar icons to shortcuts
* Remove room shortcuts when they're no longer joined
* Try using API 33 for the new tests. They worked locally with API 30, so it's weird the CI asks for a higher API version.
* Add observers for the pin code and session logout states. With this we can prevent new shortcuts from being created and remove existing ones when needed.
* Wrap all calls to `ShortcutManagerCompat` with `runCatchingExceptions` to avoid crashes
* Make `DefaultNotificationConversationService` a singleton.
---------
Co-authored-by: networkException <git@nwex.de>
Co-authored-by: ElementBot <android@element.io>