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
commit 43b4bd3fd5
16 changed files with 24 additions and 10 deletions

View file

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

View file

@ -97,6 +97,7 @@ class ChangeRoomPermissionsPresenterTest {
presenter.present() presenter.present()
}.test { }.test {
val state = awaitUpdatedItem() val state = awaitUpdatedItem()
val initialPermissions = defaultPermissions()
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.INVITE, SelectableRole.Moderator)) state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.INVITE, SelectableRole.Moderator))
state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.KICK, SelectableRole.Moderator)) state.eventSink(ChangeRoomPermissionsEvent.ChangeMinimumRoleForAction(RoomPermissionType.KICK, SelectableRole.Moderator))
@ -120,6 +121,7 @@ class ChangeRoomPermissionsPresenterTest {
roomName = Moderator.powerLevel, roomName = Moderator.powerLevel,
roomAvatar = Moderator.powerLevel, roomAvatar = Moderator.powerLevel,
roomTopic = 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 # 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 # 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. # 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 # Others
coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" } coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -24,6 +24,7 @@ object RoomPowerLevelsValuesMapper {
roomName = values.roomName, roomName = values.roomName,
roomAvatar = values.roomAvatar, roomAvatar = values.roomAvatar,
roomTopic = values.roomTopic, 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.api.timeline.item.event.UtdCause
import io.element.android.libraries.matrix.impl.media.map 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.poll.map
import io.element.android.libraries.matrix.impl.room.join.map
import kotlinx.collections.immutable.toImmutableList import kotlinx.collections.immutable.toImmutableList
import kotlinx.collections.immutable.toImmutableMap import kotlinx.collections.immutable.toImmutableMap
import org.matrix.rustcomponents.sdk.EmbeddedEventDetails import org.matrix.rustcomponents.sdk.EmbeddedEventDetails
@ -210,7 +211,7 @@ private fun RustOtherState.map(): OtherState {
RustOtherState.RoomEncryption -> OtherState.RoomEncryption RustOtherState.RoomEncryption -> OtherState.RoomEncryption
RustOtherState.RoomGuestAccess -> OtherState.RoomGuestAccess RustOtherState.RoomGuestAccess -> OtherState.RoomGuestAccess
RustOtherState.RoomHistoryVisibility -> OtherState.RoomHistoryVisibility RustOtherState.RoomHistoryVisibility -> OtherState.RoomHistoryVisibility
is RustOtherState.RoomJoinRules -> OtherState.RoomJoinRules is RustOtherState.RoomJoinRules -> OtherState.RoomJoinRules(joinRule?.map())
is RustOtherState.RoomName -> OtherState.RoomName(name) is RustOtherState.RoomName -> OtherState.RoomName(name)
is RustOtherState.RoomPinnedEvents -> OtherState.RoomPinnedEvents(change.map()) is RustOtherState.RoomPinnedEvents -> OtherState.RoomPinnedEvents(change.map())
is RustOtherState.RoomPowerLevels -> OtherState.RoomUserPowerLevels(users) is RustOtherState.RoomPowerLevels -> OtherState.RoomUserPowerLevels(users)

View file

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

View file

@ -31,4 +31,5 @@ fun defaultFfiRoomPowerLevelValues() = RoomPowerLevelsValues(
roomTopic = 100, roomTopic = 100,
stateDefault = 0, stateDefault = 0,
usersDefault = 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.RoomMember
import io.element.android.libraries.matrix.api.room.RoomMembershipObserver 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.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.api.timeline.item.event.MembershipChange
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeFfiRoom import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeFfiRoom
import io.element.android.libraries.matrix.impl.fixtures.fakes.FakeFfiRoomListService 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_SESSION_ID
import io.element.android.libraries.matrix.test.A_USER_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.aRoomInfo
import io.element.android.libraries.matrix.test.room.defaultRoomPowerLevelValues
import io.element.android.tests.testutils.testCoroutineDispatchers import io.element.android.tests.testutils.testCoroutineDispatchers
import kotlinx.collections.immutable.persistentMapOf import kotlinx.collections.immutable.persistentMapOf
import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.SharingStarted
@ -128,7 +128,7 @@ class RustBaseRoomTest {
val rustBaseRoom = createRustBaseRoom( val rustBaseRoom = createRustBaseRoom(
initialRoomInfo = aRoomInfo( initialRoomInfo = aRoomInfo(
roomPowerLevels = RoomPowerLevels( roomPowerLevels = RoomPowerLevels(
values = RoomPowerLevelsValues(50, 50, 50, 50, 50, 50, 50, 50), values = defaultRoomPowerLevelValues(),
users = persistentMapOf(A_USER_ID to 100L) users = persistentMapOf(A_USER_ID to 100L)
) )
), ),

View file

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

View file

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

View file

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