Merge pull request #5762 from element-hq/renovate/org.matrix.rustcomponents-sdk-android-25.x

fix(deps): update dependency org.matrix.rustcomponents:sdk-android to v25.11.19
This commit is contained in:
ganfra
2025-11-19 18:04:41 +01:00
committed by GitHub
16 changed files with 24 additions and 10 deletions

View File

@@ -58,5 +58,7 @@ private fun previewPermissions(): RoomPowerLevelsValues {
roomName = RoomMember.Role.Admin.powerLevel,
roomAvatar = RoomMember.Role.Moderator.powerLevel,
roomTopic = RoomMember.Role.User.powerLevel,
// SpaceManagement section
spaceChild = RoomMember.Role.Moderator.powerLevel,
)
}

View File

@@ -97,6 +97,7 @@ class ChangeRoomPermissionsPresenterTest {
presenter.present()
}.test {
val state = awaitUpdatedItem()
val initialPermissions = defaultPermissions()
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.INVITE, SelectableRole.Moderator))
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.KICK, SelectableRole.Moderator))
@@ -120,6 +121,7 @@ class ChangeRoomPermissionsPresenterTest {
roomName = Moderator.powerLevel,
roomAvatar = Moderator.powerLevel,
roomTopic = Moderator.powerLevel,
spaceChild = initialPermissions.spaceChild
)
)
}

View File

@@ -177,7 +177,7 @@ test_detekt_test = { module = "io.gitlab.arturbosch.detekt:detekt-test", version
# https://github.com/matrix-org/matrix-rust-components-kotlin/commits/main/sdk/sdk-android/src/main/kotlin/org/matrix/rustcomponents/sdk/matrix_sdk_ffi.kt
# All new features should not be implemented in the pull request that upgrades the version, developers should
# only fix API breaks and may add some TODOs.
matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.11.11"
matrix_sdk = "org.matrix.rustcomponents:sdk-android:25.11.19"
# Others
coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }

View File

@@ -154,7 +154,7 @@ class StateContentFormatter(
"RoomHistoryVisibility"
}
}
OtherState.RoomJoinRules -> when (renderingMode) {
is OtherState.RoomJoinRules -> when (renderingMode) {
RenderingMode.RoomList -> {
Timber.v("Filtering timeline item for room state change: $content")
null

View File

@@ -746,7 +746,7 @@ class DefaultBaseRoomLastMessageFormatterTest {
OtherState.RoomCanonicalAlias,
OtherState.RoomGuestAccess,
OtherState.RoomHistoryVisibility,
OtherState.RoomJoinRules,
OtherState.RoomJoinRules(null),
OtherState.RoomPinnedEvents(OtherState.RoomPinnedEvents.Change.CHANGED),
OtherState.RoomUserPowerLevels(emptyMap()),
OtherState.RoomServerAcl,

View File

@@ -601,7 +601,7 @@ class DefaultPinnedMessagesBannerFormatterTest {
OtherState.RoomCanonicalAlias,
OtherState.RoomGuestAccess,
OtherState.RoomHistoryVisibility,
OtherState.RoomJoinRules,
OtherState.RoomJoinRules(null),
OtherState.RoomPinnedEvents(OtherState.RoomPinnedEvents.Change.CHANGED),
OtherState.RoomUserPowerLevels(emptyMap()),
OtherState.RoomServerAcl,

View File

@@ -22,6 +22,7 @@ data class RoomPowerLevelsValues(
val roomName: Long,
val roomAvatar: Long,
val roomTopic: Long,
val spaceChild: Long,
)
/**

View File

@@ -9,6 +9,7 @@
package io.element.android.libraries.matrix.api.timeline.item.event
import androidx.compose.runtime.Immutable
import io.element.android.libraries.matrix.api.room.join.JoinRule
@Immutable
sealed interface OtherState {
@@ -22,7 +23,7 @@ sealed interface OtherState {
data object RoomEncryption : OtherState
data object RoomGuestAccess : OtherState
data object RoomHistoryVisibility : OtherState
data object RoomJoinRules : OtherState
data class RoomJoinRules(val joinRule: JoinRule?) : OtherState
data class RoomName(val name: String?) : OtherState
data class RoomPinnedEvents(val change: Change) : OtherState {
enum class Change {

View File

@@ -24,6 +24,7 @@ object RoomPowerLevelsValuesMapper {
roomName = values.roomName,
roomAvatar = values.roomAvatar,
roomTopic = values.roomTopic,
spaceChild = values.spaceChild,
)
}
}

View File

@@ -32,6 +32,7 @@ import io.element.android.libraries.matrix.api.timeline.item.event.UnknownConten
import io.element.android.libraries.matrix.api.timeline.item.event.UtdCause
import io.element.android.libraries.matrix.impl.media.map
import io.element.android.libraries.matrix.impl.poll.map
import io.element.android.libraries.matrix.impl.room.join.map
import kotlinx.collections.immutable.toImmutableList
import kotlinx.collections.immutable.toImmutableMap
import org.matrix.rustcomponents.sdk.EmbeddedEventDetails
@@ -210,7 +211,7 @@ private fun RustOtherState.map(): OtherState {
RustOtherState.RoomEncryption -> OtherState.RoomEncryption
RustOtherState.RoomGuestAccess -> OtherState.RoomGuestAccess
RustOtherState.RoomHistoryVisibility -> OtherState.RoomHistoryVisibility
is RustOtherState.RoomJoinRules -> OtherState.RoomJoinRules
is RustOtherState.RoomJoinRules -> OtherState.RoomJoinRules(joinRule?.map())
is RustOtherState.RoomName -> OtherState.RoomName(name)
is RustOtherState.RoomPinnedEvents -> OtherState.RoomPinnedEvents(change.map())
is RustOtherState.RoomPowerLevels -> OtherState.RoomUserPowerLevels(users)

View File

@@ -21,6 +21,7 @@ internal fun aRustRoomPowerLevelsValues(
roomName: Long,
roomAvatar: Long,
roomTopic: Long,
spaceChild: Long,
) = RoomPowerLevelsValues(
ban = ban,
invite = invite,
@@ -32,4 +33,5 @@ internal fun aRustRoomPowerLevelsValues(
roomName = roomName,
roomAvatar = roomAvatar,
roomTopic = roomTopic,
spaceChild = spaceChild
)

View File

@@ -31,4 +31,5 @@ fun defaultFfiRoomPowerLevelValues() = RoomPowerLevelsValues(
roomTopic = 100,
stateDefault = 0,
usersDefault = 0,
spaceChild = 100,
)

View File

@@ -16,7 +16,6 @@ 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.RoomMembershipObserver
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevels
import io.element.android.libraries.matrix.api.room.powerlevels.RoomPowerLevelsValues
import io.element.android.libraries.matrix.api.timeline.item.event.MembershipChange
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeFfiRoom
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeFfiRoomListService
@@ -24,6 +23,7 @@ import io.element.android.libraries.matrix.test.A_DEVICE_ID
import io.element.android.libraries.matrix.test.A_SESSION_ID
import io.element.android.libraries.matrix.test.A_USER_ID
import io.element.android.libraries.matrix.test.room.aRoomInfo
import io.element.android.libraries.matrix.test.room.defaultRoomPowerLevelValues
import io.element.android.tests.testutils.testCoroutineDispatchers
import kotlinx.collections.immutable.persistentMapOf
import kotlinx.coroutines.flow.SharingStarted
@@ -128,7 +128,7 @@ class RustBaseRoomTest {
val rustBaseRoom = createRustBaseRoom(
initialRoomInfo = aRoomInfo(
roomPowerLevels = RoomPowerLevels(
values = RoomPowerLevelsValues(50, 50, 50, 50, 50, 50, 50, 50),
values = defaultRoomPowerLevelValues(),
users = persistentMapOf(A_USER_ID to 100L)
)
),

View File

@@ -29,6 +29,7 @@ class RoomPowerLevelsValuesMapperTest {
roomName = 8,
roomAvatar = 9,
roomTopic = 10,
spaceChild = 11,
)
)
).isEqualTo(
@@ -41,6 +42,7 @@ class RoomPowerLevelsValuesMapperTest {
roomName = 8,
roomAvatar = 9,
roomTopic = 10,
spaceChild = 11,
)
)
}

View File

@@ -260,5 +260,6 @@ fun defaultRoomPowerLevelValues() = RoomPowerLevelsValues(
redactEvents = 50,
roomName = 100,
roomAvatar = 100,
roomTopic = 100
roomTopic = 100,
spaceChild = 100,
)

View File

@@ -510,7 +510,7 @@ class InReplyToMetadataKtTest {
fun `state content`() = runTest {
moleculeFlow(RecompositionMode.Immediate) {
anInReplyToDetailsReady(
eventContent = StateContent("", OtherState.RoomJoinRules)
eventContent = StateContent("", OtherState.RoomJoinRules(null))
).metadata(hideImage = false)
}.test {
awaitItem().let {