Commit graph

1779 commits

Author SHA1 Message Date
Jorge Martín
7e3acd6b58 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
09cab10abc Fix dependency injection 2025-12-10 15:22:16 +01:00
Jorge Martín
d78e28be5e 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
482d7e0648 Add a periodic DB vacuuming task 2025-12-10 15:22:16 +01:00
Jorge Martín
9c72310cb4 Add developer option to optimize the SDK DBs 2025-12-10 15:22:16 +01:00
Benoit Marty
4cfd8907dd 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
ad366c63ec 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
754c0781f9 Don't re-schedule notification fetches if the cause of the failure is SessionRestorationException, since that means it'll most likely fail again 2025-12-05 17:42:57 +01:00
Jorge Martín
f745f2ca1e Add SessionRestorationException, make sure ClientException can expose it through the cause property 2025-12-05 17:42:57 +01:00
Benoit Marty
096b8768ea Fix warning "Throwable should be first argument" 2025-12-05 09:48:26 +01:00
Benoit Marty
72b3decf4c Detekt: enable rule exceptions.SwallowedException and fix existing issue. 2025-12-05 09:45:23 +01:00
Jorge Martín
5d88a04ab0 Add missing abstractions and fakes 2025-12-04 18:02:59 +01:00
Jorge Martín
e814906ba1 Restore disabled tests with FFI fakes 2025-12-04 16:55:22 +01:00
ganfra
07d02fd076 Merge branch 'develop' into feature/fga/space_invite_notification 2025-12-04 15:53:49 +01:00
ganfra
a27e31b01b change(notification): handle invite notification for spaces 2025-12-04 12:25:30 +01:00
Jorge Martín
739f12d603 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
11f41629c1 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
53ab38d990 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
ganfra
1234b91a6a Merge pull request #5832 from element-hq/feature/fga/fix_owner_admin_displayed_twice
fix: usersWithRole(Owner) returns creators only if privilegedCreatorRole is true
2025-12-03 18:19:20 +01:00
ganfra
147c49e99a quality: remove useless parenthesis
Co-authored-by: Benoit Marty <benoitm@element.io>
2025-12-03 17:45:37 +01:00
ganfra
42e3a62ab1 Merge pull request #5826 from element-hq/feature/fga/hide_banned_members_name
change(room member): make sure we never display name/avatar when member is banned
2025-12-03 17:19:30 +01:00
ganfra
a91c78b56f fix: rely only on RoomMember Role values instead of using the powerLevel. 2025-12-02 21:42:29 +01:00
Jorge Martin Espinosa
33694f0ff0 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
77be19bf3b 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
29117ce93d Add AnalyticsService.cancelLongRunningTransaction and AnalyticsService.finishLongRunningTransaction 2025-11-28 14:15:54 +01:00
Jorge Martín
93feed38bf 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
766c23721e 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
ganfra
d7bbf8f566 change(room member): make sure we never display name/avatar when a member is banned 2025-11-27 18:08:00 +01:00
Benoit Marty
74b04f47ed Room list: enable latest event sorter. 2025-11-27 14:55:19 +01:00
ganfra
c432a3080e deps: fix api break 2025-11-26 17:03:27 +01:00
ganfra
ca526580fd misc : use new_latest_event api (+ some renaming) 2025-11-26 10:58:16 +01:00
ganfra
8a599a1e51 deps(sdk) : add fallbackToServer on userIdentity api. 2025-11-24 20:22:11 +01:00
Benoit Marty
966eab8796 Fix roleOf extension. Creator are Owner Role only if privilegedCreatorRole is true. 2025-11-20 17:41:01 +01:00
ganfra
f4f129f420 Merge branch 'develop' into renovate/org.matrix.rustcomponents-sdk-android-25.x 2025-11-19 13:10:18 +01:00
ganfra
f5d450e68b deps(sdk): fix api usages 2025-11-19 13:07:59 +01:00
Jorge Martin Espinosa
c6c2f4a267 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
d8cacba43a Improve API: use RoomId instead of String. 2025-11-19 10:14:03 +01:00
Benoit Marty
88f0111137 Ensure in test that rooms are sorted. 2025-11-19 10:14:03 +01:00
Benoit Marty
b54b077125 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
7cbc616bef Remove unused import. 2025-11-18 16:42:34 +01:00
Benoit Marty
de2ab5a557 Merge pull request #5722 from element-hq/feature/bma/moduleCleanup
Module cleanup
2025-11-18 16:14:10 +01:00
Benoit Marty
5728452e68 Remove unused slidingSyncProxy from DB. 2025-11-18 15:58:22 +01:00
Jorge Martin Espinosa
5a5c0b16ca Revert "Stop overriding the homeserver when restoring a Client (#5753)" (#5754)
This reverts commit a0a3a30aa3.
2025-11-18 15:16:34 +01:00
Jorge Martin Espinosa
a0a3a30aa3 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
2b5c94cf9a 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
42e91a3395 @Inject is not necessary here. 2025-11-17 21:35:56 +01:00
ganfra
24851f2e32 change(room members): address PR reviews 2025-11-14 12:27:45 +01:00
ganfra
3086d1e8e3 quality : format code 2025-11-13 16:00:07 +01:00
ganfra
fbb906fd64 Merge branch 'develop' into feature/fga/members_improvements 2025-11-13 14:30:29 +01:00
Benoit Marty
6284753e59 Fix tests 2025-11-12 23:04:55 +01:00