Skip to content

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

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Jun 2, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -169,7 +169,7 @@ jsoup = "org.jsoup:jsoup:1.20.1"
appyx_core = { module = "com.bumble.appyx:core", version.ref = "appyx" }
molecule-runtime = "app.cash.molecule:molecule-runtime:2.1.0"
timber = "com.jakewharton.timber:timber:5.0.1"
matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.5.26"
matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.5.29"
matrix_richtexteditor = { module = "io.element.android:wysiwyg", 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" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ data class RoomInfo(
val isEncrypted: Boolean?,
val joinRule: JoinRule?,
val isSpace: Boolean,
val tombstone: RoomTombstone?,
val isFavorite: Boolean,
val canonicalAlias: RoomAlias?,
val alternativeAliases: ImmutableList<RoomAlias>,
Expand Down Expand Up @@ -74,12 +73,8 @@ data class RoomInfo(
val pinnedEventIds: ImmutableList<EventId>,
val creator: UserId?,
val historyVisibility: RoomHistoryVisibility,
val successorRoom: SuccessorRoom?,
) {
val aliases: List<RoomAlias>
get() = listOfNotNull(canonicalAlias) + alternativeAliases
}

data class RoomTombstone(
val body: String,
val replacementRoomId: RoomId,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
/*
* Copyright 2025 New Vector Ltd.
*
* SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial
* Please see LICENSE files in the repository root for full details.
*/

package io.element.android.libraries.matrix.api.room

import io.element.android.libraries.matrix.api.core.RoomId

/**
*
* When a room A is tombstoned, it is replaced by a room B. The room A is the
* predecessor of B, and B is the successor of A. This type holds information
* about the successor room.
*
* A room is tombstoned if it has received a m.room.tombstone state event.
*
*/
data class SuccessorRoom(

Check warning on line 21 in libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/SuccessorRoom.kt

View check run for this annotation

Codecov / codecov/patch

libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/SuccessorRoom.kt#L21

Added line #L21 was not covered by tests
/**
* The ID of the replacement room.
*/
val roomId: RoomId,

Check warning on line 25 in libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/SuccessorRoom.kt

View check run for this annotation

Codecov / codecov/patch

libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/SuccessorRoom.kt#L25

Added line #L25 was not covered by tests
/**
* The message explaining why the room has been tombstoned.
*/
val reason: String?,

Check warning on line 29 in libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/SuccessorRoom.kt

View check run for this annotation

Codecov / codecov/patch

libraries/matrix/api/src/main/kotlin/io/element/android/libraries/matrix/api/room/SuccessorRoom.kt#L29

Added line #L29 was not covered by tests
)
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,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.RoomNotificationMode
import io.element.android.libraries.matrix.api.room.RoomTombstone
import io.element.android.libraries.matrix.api.room.SuccessorRoom
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.join.map
Expand All @@ -28,6 +28,7 @@
import org.matrix.rustcomponents.sdk.Membership as RustMembership
import org.matrix.rustcomponents.sdk.RoomInfo as RustRoomInfo
import org.matrix.rustcomponents.sdk.RoomNotificationMode as RustRoomNotificationMode
import org.matrix.rustcomponents.sdk.SuccessorRoom as RustSuccessorRoom

class RoomInfoMapper {
fun map(rustRoomInfo: RustRoomInfo): RoomInfo = rustRoomInfo.let {
Expand All @@ -47,9 +48,6 @@
},
joinRule = it.joinRule?.map(),
isSpace = it.isSpace,
tombstone = it.tombstone?.let {
RoomTombstone(it.body, RoomId(it.replacementRoomId))
},
isFavorite = it.isFavourite,
canonicalAlias = it.canonicalAlias?.let(::RoomAlias),
alternativeAliases = it.alternativeAliases.map(::RoomAlias).toImmutableList(),
Expand All @@ -71,6 +69,7 @@
numUnreadMentions = it.numUnreadMentions.toLong(),
numUnreadNotifications = it.numUnreadNotifications.toLong(),
historyVisibility = it.historyVisibility.map(),
successorRoom = it.successorRoom?.map(),
)
}
}
Expand All @@ -89,6 +88,11 @@
RustRoomNotificationMode.MUTE -> RoomNotificationMode.MUTE
}

fun RustSuccessorRoom.map(): SuccessorRoom = SuccessorRoom(
roomId = RoomId(roomId),
reason = reason,

Check warning on line 93 in libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoMapper.kt

View check run for this annotation

Codecov / codecov/patch

libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RoomInfoMapper.kt#L91-L93

Added lines #L91 - L93 were not covered by tests
)

/**
* Map a RoomHero to a MatrixUser. There is not need to create a RoomHero type on the application side.
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import org.matrix.rustcomponents.sdk.RoomHistoryVisibility
import org.matrix.rustcomponents.sdk.RoomInfo
import org.matrix.rustcomponents.sdk.RoomMember
import org.matrix.rustcomponents.sdk.RoomNotificationMode
import org.matrix.rustcomponents.sdk.RoomTombstoneInfo
import org.matrix.rustcomponents.sdk.SuccessorRoom
import uniffi.matrix_sdk_base.EncryptionState

fun aRustRoomInfo(
Expand All @@ -30,7 +30,6 @@ fun aRustRoomInfo(
isDirect: Boolean = false,
isPublic: Boolean = false,
isSpace: Boolean = false,
tombstone: RoomTombstoneInfo? = null,
isFavourite: Boolean = false,
canonicalAlias: String? = null,
alternativeAliases: List<String> = listOf(),
Expand All @@ -54,6 +53,7 @@ fun aRustRoomInfo(
roomCreator: UserId? = null,
joinRule: JoinRule? = null,
historyVisibility: RoomHistoryVisibility = RoomHistoryVisibility.Joined,
successorRoom: SuccessorRoom? = null,
) = RoomInfo(
id = id,
displayName = displayName,
Expand All @@ -64,7 +64,6 @@ fun aRustRoomInfo(
isDirect = isDirect,
isPublic = isPublic,
isSpace = isSpace,
tombstone = tombstone,
isFavourite = isFavourite,
canonicalAlias = canonicalAlias,
alternativeAliases = alternativeAliases,
Expand All @@ -87,5 +86,6 @@ fun aRustRoomInfo(
pinnedEventIds = pinnedEventIds,
creator = roomCreator?.value,
joinRule = joinRule,
historyVisibility = historyVisibility
historyVisibility = historyVisibility,
successorRoom = successorRoom,
)
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ class RoomInfoMapperTest {
isPublic = false,
isSpace = false,
joinRule = RustJoinRule.Invite,
tombstone = null,
successorRoom = null,
isFavourite = false,
canonicalAlias = A_ROOM_ALIAS.value,
alternativeAliases = listOf(A_ROOM_ALIAS.value),
Expand Down Expand Up @@ -90,7 +90,6 @@ class RoomInfoMapperTest {
isDirect = true,
isEncrypted = true,
isSpace = false,
tombstone = null,
isFavorite = false,
joinRule = JoinRule.Invite,
canonicalAlias = A_ROOM_ALIAS,
Expand Down Expand Up @@ -120,6 +119,7 @@ class RoomInfoMapperTest {
numUnreadNotifications = 13L,
numUnreadMentions = 14L,
historyVisibility = RoomHistoryVisibility.Joined,
successorRoom = null
)
)
}
Expand All @@ -139,7 +139,7 @@ class RoomInfoMapperTest {
isPublic = true,
joinRule = null,
isSpace = false,
tombstone = null,
successorRoom = null,
isFavourite = true,
canonicalAlias = null,
alternativeAliases = emptyList(),
Expand Down Expand Up @@ -175,7 +175,7 @@ class RoomInfoMapperTest {
isDirect = false,
joinRule = null,
isSpace = false,
tombstone = null,
successorRoom = null,
isFavorite = true,
canonicalAlias = null,
alternativeAliases = emptyList<RoomAlias>().toPersistentList(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +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.RoomMember
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.SuccessorRoom
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.user.MatrixUser
Expand All @@ -39,7 +39,7 @@ fun aRoomInfo(
isEncrypted: Boolean = false,
joinRule: JoinRule? = JoinRule.Public,
isSpace: Boolean = false,
tombstone: RoomTombstone? = null,
successorRoom: SuccessorRoom? = null,
isFavorite: Boolean = false,
canonicalAlias: RoomAlias? = null,
alternativeAliases: List<RoomAlias> = emptyList(),
Expand Down Expand Up @@ -73,7 +73,7 @@ fun aRoomInfo(
isEncrypted = isEncrypted,
joinRule = joinRule,
isSpace = isSpace,
tombstone = tombstone,
successorRoom = successorRoom,
isFavorite = isFavorite,
canonicalAlias = canonicalAlias,
alternativeAliases = alternativeAliases.toImmutableList(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +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.RoomMember
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.SuccessorRoom
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.message.RoomMessage
Expand Down Expand Up @@ -52,7 +52,7 @@ fun aRoomSummary(
isEncrypted: Boolean = false,
joinRule: JoinRule? = JoinRule.Public,
isSpace: Boolean = false,
tombstone: RoomTombstone? = null,
successorRoom: SuccessorRoom? = null,
isFavorite: Boolean = false,
canonicalAlias: RoomAlias? = null,
alternativeAliases: List<RoomAlias> = emptyList(),
Expand Down Expand Up @@ -88,7 +88,7 @@ fun aRoomSummary(
isEncrypted = isEncrypted,
joinRule = joinRule,
isSpace = isSpace,
tombstone = tombstone,
successorRoom = successorRoom,
isFavorite = isFavorite,
canonicalAlias = canonicalAlias,
alternativeAliases = alternativeAliases.toPersistentList(),
Expand Down
Loading