Commit Graph

1326 Commits

Author SHA1 Message Date
Benoit Marty b26b435e27 Ensure factorize follow the same code convention 2025-12-29 09:40:24 +01:00
Jorge Martín dbf32a1bfe RustSpaceService.joinedSpaces() now points to the FFI method SpaceService.topLevelJoinedSpaces() 2025-12-22 11:19:37 +01:00
Jorge Martín 0440f760ed Instantiate the now suspending innerClient.spaceService() RustMatrixClient with runBlocking for now 2025-12-22 11:19:37 +01:00
Jorge Martín a8ffe46d99 Transform MessageEventType and StateEventType into sealed interfaces to handle the Custom variant, also add missing variants 2025-12-22 11:19:37 +01:00
Jorge Martín 0ed40c562d Replace some usages of TimelineEventType in EventType with TimelineEventContent 2025-12-22 11:19:37 +01:00
Jorge Martin Espinosa 4f1fd33b47 Fix unverified account after account creation (#5914)
* Fix unverified account after account creation:

When we create an account either using OIDC or by importing a login and password one, we need to wait until the verification state is known (either verified or unverified).

The problem is the verification service will return incorrect values until the E2EE tasks are initialized in the SDK, even if we add the state listeners after doing so.

So what we can do is initialize the E2EE setup, discard any invalid verification state received while it's not initialized, and take only those received after it's initialized.

* Actually restore the `Client` in `RustMatrixAuthenticationService.importCreatedSession` so we don't need to use `clear` and have the navigation restore the client later:

This standarizes the way the login/registration flow works, always restoring/reusing the existing client instance
2025-12-19 12:55:34 +01:00
Jorge Martin Espinosa 105bab1758 Add threadInfo field to message like timeline events (#5930)
* Add `threadInfo` field to message like timeline events:
- Polls
- Stickers
- UTDs

* Add missing cases for `EventTimeline.threadInfo()`
2025-12-19 09:43:40 +00:00
Benoit Marty 3ea10c2c62 Merge pull request #5909 from element-hq/feature/bma/qrCodeLogin
Link new device using QrCode - First version
2025-12-18 16:08:21 +01:00
Jorge Martín 20eebea077 Remove comment that was no longer valid 2025-12-18 14:08:38 +01:00
Jorge Martín 2590659637 Add tests for RustMatrixClient.getDatabaseSizes() 2025-12-18 14:08:38 +01:00
Jorge Martín fa8d7b73c7 Fix tests 2025-12-18 14:08:38 +01:00
Jorge Martín e18a5ef17f Create GetDatabaseSizesUseCase so we don't have to expose the while MatrixClient to get these values 2025-12-18 14:08:38 +01:00
Jorge Martín 6441153dba Rename ByteSize.to to ByteSize.into
This method could clash the the `a to b` operator.
2025-12-18 14:08:38 +01:00
Jorge Martín a7eb46ed45 Add MatrixClient.getDatabaseSizes
This returns a `SdkStoreSizes` object, with the possible SDK database sizes.
2025-12-18 14:08:38 +01:00
renovate[bot] 74ca4ff9d6 fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.12.17 (#5912)
* fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.12.17

* Fix changes in the SDK:

`LatestEventValue.Local` doesn't have an `isSending` property anymore, now it has `state: LatestEventValueLocalState`. If this is `HAS_BEEN_SENT`, it's equivalent to a `LatestEventValue.Remote`, we just haven't received the updated value from the SDK yet.
---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-12-17 15:08:41 +00:00
ganfra f29b0e399a Merge pull request #5908 from element-hq/feature/fga/space_settings_iteration
Change : space settings iteration
2025-12-16 22:41:03 +01:00
ganfra 7d98bd0af5 quality: fix tests after latest changes 2025-12-16 20:34:26 +01:00
Benoit Marty d7ace0d580 Add test on RustCheckCodeSender 2025-12-16 20:03:33 +01:00
Benoit Marty ec10a0bf87 Add unit test on RustLinkDesktopHandler
Add unit test on RustLinkMobileHandler
Add unit test on DefaultLinkNewDeviceEntryPoint
2025-12-16 18:37:33 +01:00
Benoit Marty a073117d62 Link new device using QrCode. 2025-12-16 16:14:04 +01:00
Benoit Marty 5ebb615751 Format files. 2025-12-16 16:13:25 +01:00
ganfra ce079e84f5 Merge branch 'develop' into feature/fga/space_settings_iteration 2025-12-15 16:06:06 +01:00
ganfra 65c3188b7a Merge pull request #5879 from element-hq/feature/fga/room_permissions_rework
misc : rework power levels apis
2025-12-15 12:19:54 +01:00
Jorge Martin Espinosa aa061f8ef3 Fix crash when calling Room.predecessorRoom when the room is destroyed (#5894)
* Fix crash when calling `Client.predecessorRoom` when the room is destroyed

* Handle the root cause of this crash: destroying the room on activity recreation
2025-12-15 10:25:08 +01:00
ganfra d26f21a53b misc(power level) : update tests following api change 2025-12-12 11:52:24 +01:00
ganfra 541a1d29bd misc(power level) : remove old api 2025-12-12 11:26:54 +01:00
ganfra 44535243ef misc(power level) : introduce RoomPermissions 2025-12-12 11:26:54 +01:00
Jorge Martín 881877b23e Add missing trace log packs 2025-12-10 16:27:53 +01:00
Jorge Martín 27cb88d88e Fix broken API changes: use Room.latestEvent, which will keep its name, but it'll be using the logic previously in Room.newLatestEvent 2025-12-10 16:27:53 +01:00
ganfra 3e67a43799 change(room permissions): support space management 2025-12-10 15:29:50 +01:00
Jorge Martín 607b1d9023 Add Sentry transaction so we can check how long it takes to vacuum and if there were any errors when doing it 2025-12-10 15:22:16 +01:00
Jorge Martín 54c49e4f33 Fix dependency injection 2025-12-10 15:22:16 +01:00
Jorge Martín 2e88815e1b Make sure we schedule the vacuum task only if there isn't an existing one 2025-12-10 15:22:16 +01:00
Jorge Martín 734485255a Add a periodic DB vacuuming task 2025-12-10 15:22:16 +01:00
Jorge Martín 5d6aa1fcfd Add developer option to optimize the SDK DBs 2025-12-10 15:22:16 +01:00
ganfra 5d2008cfe9 misc(power level) : clean up code 2025-12-10 11:26:07 +01:00
ganfra 400d520685 misc(power level) : remove old api 2025-12-08 22:23:17 +01:00
Benoit Marty f76d817b4e Merge pull request #5852 from element-hq/renovate/io.nlopez.compose.rules-detekt-0.x
fix(deps): update dependency io.nlopez.compose.rules:detekt to v0.5.1
2025-12-08 15:05:12 +01:00
Benoit Marty 4df192ff86 Merge pull request #5855 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-25.x
fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.12.4
2025-12-08 14:24:24 +01:00
Jorge Martín 10224d8e01 Add SessionRestorationException, make sure ClientException can expose it through the cause property 2025-12-05 17:42:57 +01:00
ganfra ce2bb0a4aa misc(power level) : introduce RoomPermissions 2025-12-05 12:53:58 +01:00
Benoit Marty 6541652d82 Fix warning "Throwable should be first argument" 2025-12-05 09:48:26 +01:00
Benoit Marty 54e742075d Detekt: enable rule exceptions.SwallowedException and fix existing issue. 2025-12-05 09:45:23 +01:00
Jorge Martín de91d56e13 Add missing abstractions and fakes 2025-12-04 18:02:59 +01:00
Jorge Martín 89149a4268 Restore disabled tests with FFI fakes 2025-12-04 16:55:22 +01:00
ganfra a52e1c28d1 Merge branch 'develop' into feature/fga/space_invite_notification 2025-12-04 15:53:49 +01:00
ganfra 236db9e35d change(notification): handle invite notification for spaces 2025-12-04 12:25:30 +01:00
Jorge Martín 342ee0c10b Replace AnalyticsSdkSpanFactory with AnalyticsSdkManager.
`AnalyticsSdkManager` also enables and disables Sentry logging in the SDK based on analytics user content.
2025-12-04 12:17:52 +01:00
Jorge Martín bd427735ff Allow bridging Sentry spans to the SDK ones.
Add distributed tracing for `Room.timelineWithConfiguration`, so we can inspect the associated Rust trace.
2025-12-04 12:17:52 +01:00
Jorge Martín 883397e9dc Enable Sentry in the SDK: add SDK Sentry DSN value
This is provided to the SDK in `PlatformInitializer`.
2025-12-04 12:17:52 +01:00