fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.5.13 (#4716)

Adapt to SDK changes:
- Replace `RoomInfo.isTombstoned: Boolean` with `RoomInfo.tombstone: RoomTombstone?`.
- Add `loginHint` parameter to `Client.urlForOidc`.
- Remove `ClientBuilder.useEventCachePersistentStorage`, as it's not longer optional.
This commit is contained in:
renovate[bot] 2025-05-13 16:29:34 +00:00 committed by GitHub
parent 141099ffb2
commit 7ba0d75b5c
10 changed files with 25 additions and 15 deletions

View file

@ -169,7 +169,7 @@ jsoup = "org.jsoup:jsoup:1.20.1"
appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" } appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" }
molecule-runtime = "app.cash.molecule:molecule-runtime:2.1.0" molecule-runtime = "app.cash.molecule:molecule-runtime:2.1.0"
timber = "com.jakewharton.timber:timber:5.0.1" timber = "com.jakewharton.timber:timber:5.0.1"
matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.5.8" matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.5.13"
matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" } matrix_richtexteditor = { module = "io.element.android:wysiwyg", version.ref = "wysiwyg" }
matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" } matrix_richtexteditor_compose = { module = "io.element.android:wysiwyg-compose", version.ref = "wysiwyg" }
sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" } sqldelight-driver-android = { module = "app.cash.sqldelight:android-driver", version.ref = "sqldelight" }

View file

@ -32,7 +32,7 @@ data class RoomInfo(
val isEncrypted: Boolean?, val isEncrypted: Boolean?,
val joinRule: JoinRule?, val joinRule: JoinRule?,
val isSpace: Boolean, val isSpace: Boolean,
val isTombstoned: Boolean, val tombstone: RoomTombstone?,
val isFavorite: Boolean, val isFavorite: Boolean,
val canonicalAlias: RoomAlias?, val canonicalAlias: RoomAlias?,
val alternativeAliases: ImmutableList<RoomAlias>, val alternativeAliases: ImmutableList<RoomAlias>,
@ -78,3 +78,8 @@ data class RoomInfo(
val aliases: List<RoomAlias> val aliases: List<RoomAlias>
get() = listOfNotNull(canonicalAlias) + alternativeAliases get() = listOfNotNull(canonicalAlias) + alternativeAliases
} }
data class RoomTombstone(
val body: String,
val replacementRoomId: RoomId,
)

View file

@ -110,7 +110,6 @@ class RustMatrixClientFactory @Inject constructor(
.addRootCertificates(userCertificatesProvider.provides()) .addRootCertificates(userCertificatesProvider.provides())
.autoEnableBackups(true) .autoEnableBackups(true)
.autoEnableCrossSigning(true) .autoEnableCrossSigning(true)
.useEventCachePersistentStorage(featureFlagService.isFeatureEnabled(FeatureFlags.EventCache))
.roomKeyRecipientStrategy( .roomKeyRecipientStrategy(
strategy = if (featureFlagService.isFeatureEnabled(FeatureFlags.OnlySignedDeviceIsolationMode)) { strategy = if (featureFlagService.isFeatureEnabled(FeatureFlags.OnlySignedDeviceIsolationMode)) {
CollectStrategy.IDENTITY_BASED_STRATEGY CollectStrategy.IDENTITY_BASED_STRATEGY

View file

@ -194,6 +194,7 @@ class RustMatrixAuthenticationService @Inject constructor(
val oAuthAuthorizationData = client.urlForOidc( val oAuthAuthorizationData = client.urlForOidc(
oidcConfiguration = oidcConfigurationProvider.get(), oidcConfiguration = oidcConfigurationProvider.get(),
prompt = prompt.toRustPrompt(), prompt = prompt.toRustPrompt(),
loginHint = null,
) )
val url = oAuthAuthorizationData.loginUrl() val url = oAuthAuthorizationData.loginUrl()
pendingOAuthAuthorizationData = oAuthAuthorizationData pendingOAuthAuthorizationData = oAuthAuthorizationData

View file

@ -14,6 +14,7 @@ import io.element.android.libraries.matrix.api.core.UserId
import io.element.android.libraries.matrix.api.room.CurrentUserMembership import io.element.android.libraries.matrix.api.room.CurrentUserMembership
import io.element.android.libraries.matrix.api.room.RoomInfo import io.element.android.libraries.matrix.api.room.RoomInfo
import io.element.android.libraries.matrix.api.room.RoomNotificationMode import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.matrix.api.room.RoomTombstone
import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.api.user.MatrixUser
import io.element.android.libraries.matrix.impl.room.history.map import io.element.android.libraries.matrix.impl.room.history.map
import io.element.android.libraries.matrix.impl.room.join.map import io.element.android.libraries.matrix.impl.room.join.map
@ -46,7 +47,9 @@ class RoomInfoMapper {
}, },
joinRule = it.joinRule?.map(), joinRule = it.joinRule?.map(),
isSpace = it.isSpace, isSpace = it.isSpace,
isTombstoned = it.isTombstoned, tombstone = it.tombstone?.let {
RoomTombstone(it.body, RoomId(it.replacementRoomId))
},
isFavorite = it.isFavourite, isFavorite = it.isFavourite,
canonicalAlias = it.canonicalAlias?.let(::RoomAlias), canonicalAlias = it.canonicalAlias?.let(::RoomAlias),
alternativeAliases = it.alternativeAliases.map(::RoomAlias).toImmutableList(), alternativeAliases = it.alternativeAliases.map(::RoomAlias).toImmutableList(),

View file

@ -17,6 +17,7 @@ import org.matrix.rustcomponents.sdk.RoomHistoryVisibility
import org.matrix.rustcomponents.sdk.RoomInfo import org.matrix.rustcomponents.sdk.RoomInfo
import org.matrix.rustcomponents.sdk.RoomMember import org.matrix.rustcomponents.sdk.RoomMember
import org.matrix.rustcomponents.sdk.RoomNotificationMode import org.matrix.rustcomponents.sdk.RoomNotificationMode
import org.matrix.rustcomponents.sdk.RoomTombstoneInfo
import uniffi.matrix_sdk_base.EncryptionState import uniffi.matrix_sdk_base.EncryptionState
fun aRustRoomInfo( fun aRustRoomInfo(
@ -29,7 +30,7 @@ fun aRustRoomInfo(
isDirect: Boolean = false, isDirect: Boolean = false,
isPublic: Boolean = false, isPublic: Boolean = false,
isSpace: Boolean = false, isSpace: Boolean = false,
isTombstoned: Boolean = false, tombstone: RoomTombstoneInfo? = null,
isFavourite: Boolean = false, isFavourite: Boolean = false,
canonicalAlias: String? = null, canonicalAlias: String? = null,
alternativeAliases: List<String> = listOf(), alternativeAliases: List<String> = listOf(),
@ -63,7 +64,7 @@ fun aRustRoomInfo(
isDirect = isDirect, isDirect = isDirect,
isPublic = isPublic, isPublic = isPublic,
isSpace = isSpace, isSpace = isSpace,
isTombstoned = isTombstoned, tombstone = tombstone,
isFavourite = isFavourite, isFavourite = isFavourite,
canonicalAlias = canonicalAlias, canonicalAlias = canonicalAlias,
alternativeAliases = alternativeAliases, alternativeAliases = alternativeAliases,

View file

@ -41,7 +41,6 @@ class FakeRustClientBuilder : ClientBuilder(NoPointer) {
override fun slidingSyncVersionBuilder(versionBuilder: SlidingSyncVersionBuilder) = this override fun slidingSyncVersionBuilder(versionBuilder: SlidingSyncVersionBuilder) = this
override fun userAgent(userAgent: String) = this override fun userAgent(userAgent: String) = this
override fun username(username: String) = this override fun username(username: String) = this
override fun useEventCachePersistentStorage(value: Boolean) = this
override suspend fun buildWithQrCode(qrCodeData: QrCodeData, oidcConfiguration: OidcConfiguration, progressListener: QrLoginProgressListener): Client { override suspend fun buildWithQrCode(qrCodeData: QrCodeData, oidcConfiguration: OidcConfiguration, progressListener: QrLoginProgressListener): Client {
return FakeRustClient() return FakeRustClient()

View file

@ -54,7 +54,7 @@ class RoomInfoMapperTest {
isPublic = false, isPublic = false,
isSpace = false, isSpace = false,
joinRule = RustJoinRule.Invite, joinRule = RustJoinRule.Invite,
isTombstoned = false, tombstone = null,
isFavourite = false, isFavourite = false,
canonicalAlias = A_ROOM_ALIAS.value, canonicalAlias = A_ROOM_ALIAS.value,
alternativeAliases = listOf(A_ROOM_ALIAS.value), alternativeAliases = listOf(A_ROOM_ALIAS.value),
@ -90,7 +90,7 @@ class RoomInfoMapperTest {
isDirect = true, isDirect = true,
isEncrypted = true, isEncrypted = true,
isSpace = false, isSpace = false,
isTombstoned = false, tombstone = null,
isFavorite = false, isFavorite = false,
joinRule = JoinRule.Invite, joinRule = JoinRule.Invite,
canonicalAlias = A_ROOM_ALIAS, canonicalAlias = A_ROOM_ALIAS,
@ -139,7 +139,7 @@ class RoomInfoMapperTest {
isPublic = true, isPublic = true,
joinRule = null, joinRule = null,
isSpace = false, isSpace = false,
isTombstoned = false, tombstone = null,
isFavourite = true, isFavourite = true,
canonicalAlias = null, canonicalAlias = null,
alternativeAliases = emptyList(), alternativeAliases = emptyList(),
@ -175,7 +175,7 @@ class RoomInfoMapperTest {
isDirect = false, isDirect = false,
joinRule = null, joinRule = null,
isSpace = false, isSpace = false,
isTombstoned = false, tombstone = null,
isFavorite = true, isFavorite = true,
canonicalAlias = null, canonicalAlias = null,
alternativeAliases = emptyList<RoomAlias>().toPersistentList(), alternativeAliases = emptyList<RoomAlias>().toPersistentList(),

View file

@ -15,6 +15,7 @@ import io.element.android.libraries.matrix.api.room.CurrentUserMembership
import io.element.android.libraries.matrix.api.room.RoomInfo import io.element.android.libraries.matrix.api.room.RoomInfo
import io.element.android.libraries.matrix.api.room.RoomMember import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.RoomNotificationMode import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.matrix.api.room.RoomTombstone
import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility
import io.element.android.libraries.matrix.api.room.join.JoinRule import io.element.android.libraries.matrix.api.room.join.JoinRule
import io.element.android.libraries.matrix.api.user.MatrixUser import io.element.android.libraries.matrix.api.user.MatrixUser
@ -38,7 +39,7 @@ fun aRoomInfo(
isEncrypted: Boolean = false, isEncrypted: Boolean = false,
joinRule: JoinRule? = JoinRule.Public, joinRule: JoinRule? = JoinRule.Public,
isSpace: Boolean = false, isSpace: Boolean = false,
isTombstoned: Boolean = false, tombstone: RoomTombstone? = null,
isFavorite: Boolean = false, isFavorite: Boolean = false,
canonicalAlias: RoomAlias? = null, canonicalAlias: RoomAlias? = null,
alternativeAliases: List<RoomAlias> = emptyList(), alternativeAliases: List<RoomAlias> = emptyList(),
@ -72,7 +73,7 @@ fun aRoomInfo(
isEncrypted = isEncrypted, isEncrypted = isEncrypted,
joinRule = joinRule, joinRule = joinRule,
isSpace = isSpace, isSpace = isSpace,
isTombstoned = isTombstoned, tombstone = tombstone,
isFavorite = isFavorite, isFavorite = isFavorite,
canonicalAlias = canonicalAlias, canonicalAlias = canonicalAlias,
alternativeAliases = alternativeAliases.toImmutableList(), alternativeAliases = alternativeAliases.toImmutableList(),

View file

@ -15,6 +15,7 @@ import io.element.android.libraries.matrix.api.room.CurrentUserMembership
import io.element.android.libraries.matrix.api.room.RoomInfo import io.element.android.libraries.matrix.api.room.RoomInfo
import io.element.android.libraries.matrix.api.room.RoomMember import io.element.android.libraries.matrix.api.room.RoomMember
import io.element.android.libraries.matrix.api.room.RoomNotificationMode import io.element.android.libraries.matrix.api.room.RoomNotificationMode
import io.element.android.libraries.matrix.api.room.RoomTombstone
import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility import io.element.android.libraries.matrix.api.room.history.RoomHistoryVisibility
import io.element.android.libraries.matrix.api.room.join.JoinRule import io.element.android.libraries.matrix.api.room.join.JoinRule
import io.element.android.libraries.matrix.api.room.message.RoomMessage import io.element.android.libraries.matrix.api.room.message.RoomMessage
@ -51,7 +52,7 @@ fun aRoomSummary(
isEncrypted: Boolean = false, isEncrypted: Boolean = false,
joinRule: JoinRule? = JoinRule.Public, joinRule: JoinRule? = JoinRule.Public,
isSpace: Boolean = false, isSpace: Boolean = false,
isTombstoned: Boolean = false, tombstone: RoomTombstone? = null,
isFavorite: Boolean = false, isFavorite: Boolean = false,
canonicalAlias: RoomAlias? = null, canonicalAlias: RoomAlias? = null,
alternativeAliases: List<RoomAlias> = emptyList(), alternativeAliases: List<RoomAlias> = emptyList(),
@ -87,7 +88,7 @@ fun aRoomSummary(
isEncrypted = isEncrypted, isEncrypted = isEncrypted,
joinRule = joinRule, joinRule = joinRule,
isSpace = isSpace, isSpace = isSpace,
isTombstoned = isTombstoned, tombstone = tombstone,
isFavorite = isFavorite, isFavorite = isFavorite,
canonicalAlias = canonicalAlias, canonicalAlias = canonicalAlias,
alternativeAliases = alternativeAliases.toPersistentList(), alternativeAliases = alternativeAliases.toPersistentList(),