Commit Graph

1325 Commits

Author SHA1 Message Date
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
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
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
Jorge Martin Espinosa 9756d0a5cb Upgrade the Rust SDK to v25.12.2 (#5838)
* Upgrade the Rust SDK to `v25.12.2`
2025-12-02 17:12:56 +00:00
Jorge Martin Espinosa 2e2d68ba83 Load JoinedRoom in home screen, pass it to the room flow (#5817)
* Load `JoinedRoom` in `HomeFlowNode.navigateToRoom`, then pass it to the next navigation nodes

* Add delayed loading indicator for cases when loading the room takes too long

* Avoid an extra FFI call in `RustRoomFactory`.

Use `RoomInfo.membership` instead.

Also use `computation` dispatcher, since it should reduce the delay when switching contexts.

* Remove the dispatcher usage when loading the room in `HomeFlowNode`, we immediately call a method that changes the dispatcher used

* Make sure only a single room is opened at a time
2025-12-02 15:22:55 +00:00
Jorge Martín 1c576fd42d Add AnalyticsService.cancelLongRunningTransaction and AnalyticsService.finishLongRunningTransaction 2025-11-28 14:15:54 +01:00
Jorge Martín 4b3796844f Add transaction trees for opening a room so we can have a nice trace view 2025-11-28 14:15:54 +01:00
Jorge Martín 3d590c1c46 Have long running analytic transactions return actual transactions.
Also add `AnalyticsService.getLongRunningTransaction` and change `AnalyticsService.stopLongRunningTransaction` to `removeLongRunningTransaction`.
2025-11-28 14:15:54 +01:00
Benoit Marty 699cf9647e Room list: enable latest event sorter. 2025-11-27 14:55:19 +01:00
ganfra 4af4944a55 deps: fix api break 2025-11-26 17:03:27 +01:00
ganfra b04524e566 misc : use new_latest_event api (+ some renaming) 2025-11-26 10:58:16 +01:00
ganfra 1246bfa21e deps(sdk) : add fallbackToServer on userIdentity api. 2025-11-24 20:22:11 +01:00
ganfra abcb38ef06 Merge branch 'develop' into renovate/org.matrix.rustcomponents-sdk-android-25.x 2025-11-19 13:10:18 +01:00
ganfra fe65ba1839 deps(sdk): fix api usages 2025-11-19 13:07:59 +01:00
Jorge Martin Espinosa f78c80803b Add some performance metrics for Sentry (#5760)
- Add `AnalyticsService.startTransaction(...)` to start a logging transaction that can be uploaded to Sentry if the user enabled the analytics upload.
- Add `AnalyticsTransaction` wrapper to abstract the Sentry ones.
- Added several helper methods to improve the UX around these transactions.
- Then measure:
  - Time until the first sync, and how it ended.
  - Time until the first rooms are displayed.
  - Time to load a room or a preview.
  - Time to load a timeline.
2025-11-19 11:42:55 +00:00
Benoit Marty dc65191e2c Improve API: use RoomId instead of String. 2025-11-19 10:14:03 +01:00
Benoit Marty 2bdac6d81a Merge pull request #5755 from element-hq/feature/bma/cleanupDb
Remove unused `slidingSyncProxy` from DB.
2025-11-18 17:42:09 +01:00
Benoit Marty 9247c2da79 Remove unused import. 2025-11-18 16:42:34 +01:00
Benoit Marty 310848ee38 Merge pull request #5722 from element-hq/feature/bma/moduleCleanup
Module cleanup
2025-11-18 16:14:10 +01:00
Benoit Marty a9ae55703a Remove unused slidingSyncProxy from DB. 2025-11-18 15:58:22 +01:00
Jorge Martin Espinosa 740e486cd0 Revert "Stop overriding the homeserver when restoring a Client (#5753)" (#5754)
This reverts commit 21ced9e105.
2025-11-18 15:16:34 +01:00
Jorge Martin Espinosa 21ced9e105 Stop overriding the homeserver when restoring a Client (#5753)
This isn't necessary and overrides the existing data previously saved by the SDK, resulting in losing data such as the `Client::server` (the discovery server URL).

In turn, this caused the app to be unable to refresh the server info in some homeservers.
2025-11-18 11:48:42 +01:00
Jorge Martin Espinosa 36ecb440ef Add media retention policy (#5749)
* Add media retention policy.

Add `ByteSize` class to help with conversions between byte units.

* Use bit shifting instead of multiplication

Improve the tests too
2025-11-18 07:53:45 +00:00
Benoit Marty a7ffe8087c @Inject is not necessary here. 2025-11-17 21:35:56 +01:00
ganfra 5046148708 change(room members): address PR reviews 2025-11-14 12:27:45 +01:00
ganfra 9618e9ad51 quality : format code 2025-11-13 16:00:07 +01:00
ganfra 7400fd6c84 Merge branch 'develop' into feature/fga/members_improvements 2025-11-13 14:30:29 +01:00
Benoit Marty 8285478688 API modules do not need to setup dependency injection.
Move the implementation to the impl modules.
2025-11-12 19:05:39 +01:00
ganfra 3cc455c1aa change(room members): makes sure to subscribe to timeline items changes 2025-11-12 17:53:52 +01:00
renovate[bot] e7e2f38c3c Update dependency org.matrix.rustcomponents:sdk-android to v25.11.11 (#5716)
* Update dependency org.matrix.rustcomponents:sdk-android to v25.11.11

* Fix API breaks:
  - `Client.loginWithQrCode` is now `Client.newLoginWithQrCodeHandler`.
  - Rust's `OtherState` can now have `RoomCreate` and `RoomHistoryVisibility` values.
  - Fix fixtures

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Jorge Martín <jorgem@element.io>
2025-11-11 15:29:37 +00:00
SpiritCroc 6416c79925 Fix rendering notifications if event ID is duplicated (#5711) 2025-11-10 21:54:09 +01:00
Benoit Marty eb31505dc7 Copyright: Add Element Creations Ltd. copyright 2025-11-10 11:05:05 +01:00
Benoit Marty f86431e663 Copyright: Add final period 2025-11-10 10:13:41 +01:00
Benoit Marty c4e0370f41 Copyright: run command uv run license-editor --repository ../element-x-android 2025-11-10 10:09:26 +01:00
Benoit Marty 77bc9b811a Merge pull request #5692 from element-hq/feature/bma/loginFlow
Improve account provider selection during the login flow
2025-11-07 16:48:03 +01:00
Benoit Marty cc01e19bf7 Use isNull() 2025-11-07 11:05:13 +01:00