renovate[bot]
7b3f082eb3
fix(deps): update kotlin to 2.3.0 ( #5917 )
...
* fix(deps): update kotlin to 2.3.0
* Cleanup - remove `datetime` compat version
* Fix several lint issues caused by the Kotlin compiler inference working better (checks in nullables, vars, etc.)
* Fix tests by removing mock in `File.readBytes`, it seems like it's no longer allowed. Using a tmp file works well enough.
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Benoit Marty <benoit@matrix.org >
Co-authored-by: Jorge Martín <jorgem@element.io >
2025-12-22 14:28:15 +01:00
Jorge Martín
293d41f122
RustSpaceService.joinedSpaces() now points to the FFI method SpaceService.topLevelJoinedSpaces()
2025-12-22 11:19:37 +01:00
Jorge Martín
cfa7d39966
Instantiate the now suspending innerClient.spaceService() RustMatrixClient with runBlocking for now
2025-12-22 11:19:37 +01:00
Jorge Martín
75f8c4f594
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
63d205f8aa
Replace some usages of TimelineEventType in EventType with TimelineEventContent
2025-12-22 11:19:37 +01:00
Jorge Martin Espinosa
83eae74488
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
0b5c4fc8bb
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
65c17eacc6
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
37d81fd4d1
Remove comment that was no longer valid
2025-12-18 14:08:38 +01:00
Jorge Martín
de694cecdb
Add tests for RustMatrixClient.getDatabaseSizes()
2025-12-18 14:08:38 +01:00
Jorge Martín
5c6fee08fd
Fix tests
2025-12-18 14:08:38 +01:00
Jorge Martín
b064b35c93
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
b4d2f322ad
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
dc0b508b08
Add MatrixClient.getDatabaseSizes
...
This returns a `SdkStoreSizes` object, with the possible SDK database sizes.
2025-12-18 14:08:38 +01:00
renovate[bot]
10b85ec1ff
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
8266902ec2
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
f8824e1ce1
quality: add missing doc
2025-12-16 20:34:33 +01:00
ganfra
10b61df11b
quality: fix tests after latest changes
2025-12-16 20:34:26 +01:00
Benoit Marty
086229f5dc
Add test on RustCheckCodeSender
2025-12-16 20:03:33 +01:00
Benoit Marty
b5fdc179c7
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
fd446e98dd
Link new device using QrCode.
2025-12-16 16:14:04 +01:00
Benoit Marty
028741d81c
Format files.
2025-12-16 16:13:25 +01:00
ganfra
591eac83bd
Merge branch 'develop' into feature/fga/space_settings_iteration
2025-12-15 16:06:06 +01:00
ganfra
5bb71db3b1
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
aaf788b448
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
5c8fd831e3
misc(power level) : update tests following api change
2025-12-12 11:52:24 +01:00
ganfra
29c1f33638
misc(power level) : remove old api
2025-12-12 11:26:54 +01:00
ganfra
ee38fb5f63
misc(power level) : use new api
2025-12-12 11:26:54 +01:00
ganfra
2dc8018c37
misc(power level) : introduce RoomPermissions
2025-12-12 11:26:54 +01:00
Jorge Martín
9723a7c426
Add missing trace log packs
2025-12-10 16:27:53 +01:00
Jorge Martín
289c0751d5
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
03dd89a77f
change(room permissions): support space management
2025-12-10 15:29:50 +01:00
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
ganfra
0befce4743
misc(power level) : clean up code
2025-12-10 11:26:07 +01:00
ganfra
b32157f99e
misc(power level) : update tests following api change
2025-12-09 22:38:30 +01:00
ganfra
c87a8e9cff
misc(power level) : remove old api
2025-12-08 22:23:17 +01:00
ganfra
8b8f58f018
misc(power level) : use new api
2025-12-08 22:23:07 +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
ganfra
9b056f8aec
misc(power level) : introduce RoomPermissions
2025-12-05 12:53:58 +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