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