Commit graph

1173 commits

Author SHA1 Message Date
Benoit Marty
ef8bf0619a Code cleanup 2025-09-22 14:59:43 +02:00
ganfra
c4308e9810 Merge branch 'develop' into feature/fga/join_space 2025-09-19 16:35:55 +02:00
Benoit Marty
92b8be99d1 Remove MatrixAuthenticationService.getLatestSessionId() 2025-09-19 10:57:26 +02:00
Benoit Marty
a8c12892a9 Change test in RustMatrixAuthenticationServiceTest 2025-09-19 10:57:22 +02:00
Benoit Marty
121eb11fa7 Remove MatrixAuthenticationService.loggedInStateFlow() 2025-09-19 10:57:20 +02:00
Benoit Marty
65d682f8ca Rename method storeData to addSession. 2025-09-19 10:57:17 +02:00
Benoit Marty
e980936162
Merge pull request #5306 from element-hq/feature/bma/removeDeadCode
Remove dead code
2025-09-18 18:11:06 +02:00
Valere
b13c93f3cd fix the tests 2025-09-18 14:32:01 +02:00
Valere
6052d453fe fix Conflicting import 2025-09-18 12:25:28 +02:00
Valere
1a7ce368b7 refactor: rename CallNotify to RtcNotification to match new event 2025-09-18 09:25:13 +02:00
Valere
d350a553a9 bump rust component version 2025-09-17 15:28:48 +02:00
Valere
508aef98ff Use the new RtcNotification instead of deprecated CallNotify 2025-09-17 15:15:33 +02:00
Benoit Marty
ba51b29d23
Cleanup nodes (#5358)
* Remove unused NavTarget.Empty

* Let SpaceEntryPoint.Inputs implement NodeInputs.

* Small cleanup

* Small cleanup

* Method can be private.

* Simplify code

* Rename to follow naming convention

* Rename Node to follow naming convention

* Add Konsist test.

* Remove useless line of code.
2025-09-16 14:36:43 +02:00
Benoit Marty
f28b53d85e Remove useless line of code. 2025-09-16 12:27:27 +02:00
Valere Fedronic
5d1154083b
Call: MSC4310 sending RTC decline event and listening for Decline from other sessions
MSC4310 RTC decline event support
2025-09-16 10:25:17 +02:00
ganfra
e79281a78a feature (space) : start logic for joining space 2025-09-15 16:26:54 +02:00
Jorge Martin Espinosa
d9e7d74d2d
Upgrade Rust SDK bindings to v25.09.15 (#5353)
* 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.
2025-09-15 15:15:10 +02:00
Benoit Marty
3af4405ee3
Space list (#5320)
* 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>
2025-09-11 17:29:15 +02:00
Benoit Marty
5bbe299627 Use .value instead of .toString(). 2025-09-11 17:04:58 +02:00
Benoit Marty
3b41d4a7e8 Add tests on RustSpaceRoomList 2025-09-11 15:05:50 +02:00
Valere
e20b3550dc Call: RTC decline event support 2025-09-11 13:33:37 +02:00
Benoit Marty
4869c0b5d7 Add UT on SpaceListUpdateProcessor 2025-09-11 09:57:18 +02:00
Benoit Marty
dcc1545cbf Add a TODO 2025-09-11 09:02:43 +02:00
Benoit Marty
066bfb13fc SDK API change: handle change on VirtualElementCallWidgetOptions 2025-09-11 08:58:36 +02:00
Benoit Marty
e634952a99 normalizedPowerLevel has been removed from the SDK (and was not used). 2025-09-11 08:52:02 +02:00
ganfra
697652a5f4 Iterate on SpaceRoomCache thanks to SpaceRoomCacheTest 2025-09-10 21:42:25 +02:00
Benoit Marty
959cb4f0b3 Add test on SpaceRoomCache and fix implementation 2025-09-10 18:18:16 +02:00
Benoit Marty
bb39a9f399 Code cleanup, remove dead code and fix compilation issue 2025-09-10 14:47:07 +02:00
ganfra
d4d2aa1707 feature (space) : add space cache and navigation to sub space/room 2025-09-10 14:31:44 +02:00
ganfra
b45a4c3b2c feature (space) : iterate on space list (and space screen) 2025-09-10 14:30:10 +02:00
ganfra
4048bb7fb6 feature(spaces) : start introducing SpaceScreen 2025-09-10 14:28:55 +02:00
ganfra
aadd8b45e2 feature(spaces) : introduce SpaceRoomList matrix api 2025-09-10 14:25:17 +02:00
Benoit Marty
c04962753a Remove unused MatrixClient.availableSlidingSyncVersions(). 2025-09-09 15:19:19 +02:00
Benoit Marty
927dbcaedd Fix RustMatrixClientTest 2025-09-05 17:09:43 +02:00
Benoit Marty
c24d5fc608 Code quality 2025-09-05 17:09:43 +02:00
Benoit Marty
81d82fb0de Space List
Extract InviteButtonsRowMolecule
Take into account seenSpaceInvites
2025-09-05 17:09:39 +02:00
Jorge Martín
e8328858ab Fixes after rebase 2025-09-04 16:49:21 +02:00
Jorge Martín
29a97fc0d9 Fix lint issues and restore commented out code 2025-09-04 16:49:18 +02:00
Jorge Martín
b76a71ebf5 Start migrating Anvil KSP to Metro 2025-09-04 16:48:34 +02:00
Jorge Martin Espinosa
d4d57b1e21
Reload member list after moderation actions (#5268)
* 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.
2025-09-04 12:56:46 +00:00
Jorge Martin Espinosa
83c72f4c05
Set a custom request config for the Client (#5266)
This is the default HTTP request configuration that will be used. I matches iOS.
2025-09-03 12:09:40 +00:00
Benoit Marty
00ca73f342
Refactor: Move InMemorySessionStore to test module (#5252)
* Refactor: Move InMemorySessionStore to test module

- Delete `libraries/session-storage/impl-memory` module
- Move `InMemorySessionStore.kt` to `libraries/session-storage/test`

* Cleanup tests.

* Fix error.
2025-09-01 17:29:43 +02:00
João Breno
150d0790bc
Update state in runUpdatingState when CancellationException occurs (#5243) 2025-09-01 15:07:32 +02:00
Benoit Marty
025131841b Cleanup tests. 2025-09-01 15:03:41 +02:00
Benoit Marty
75a640b986 Refactor: Move InMemorySessionStore to test module
- Delete `libraries/session-storage/impl-memory` module
- Move `InMemorySessionStore.kt` to `libraries/session-storage/test`
2025-09-01 14:47:42 +02:00
Jorge Martin Espinosa
6e6440940f
Add extra logs for sending media (#5218)
* 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
2025-08-26 07:02:15 +00:00
Benoit Marty
a625c109b8
Merge pull request #5207 from element-hq/feature/bma/spaceInfoUi
Add UI components for spaces.
2025-08-23 16:16:39 +02:00
Benoit Marty
7b1a4bb3e3 Let JoinRule and AllowRule be Immutable. 2025-08-22 16:13:55 +02:00
Jorge Martin Espinosa
7a5a197e7e
Allow replying to any remote message in a thread (#5201)
* 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>
2025-08-22 16:07:13 +02:00
Jorge Martin Espinosa
9bc2c4a776
Add shortcut suggestions for rooms, remove then when leaving (#5180)
* 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>
2025-08-19 16:02:51 +02:00