Upgrade SDK bindings to v26.09.26 (#7780)

* Bump SDK bindings to `v26.09.26`

This version contains a fix for issues in `v26.09.25` related to certificate verification.

* Fix breaking API changes in the latest bindings

* Unify `FeatureFlags.RoomThreadList` with `FeatureFlags.Threads`
This commit is contained in:
Jorge Martin Espinosa
2026-09-25 16:08:19 +02:00
committed by GitHub
parent 5c871c0fc2
commit 306e1cb950
9 changed files with 8 additions and 15 deletions
@@ -178,7 +178,7 @@ class MessagesPresenter(
.collectLatest { value = it.toImmutableList() }
}
val canOpenThreadList by featureFlagService.isFeatureEnabledFlow(FeatureFlags.RoomThreadList).collectAsState(initial = false)
val canOpenThreadList by featureFlagService.isFeatureEnabledFlow(FeatureFlags.Threads).collectAsState(initial = false)
val isCurrentlySharingLiveLocationInRoom by remember { liveLocationShareManager.isCurrentlySharing(room.roomId) }.collectAsState()
val userEventPermissions by room.permissionsAsState(UserEventPermissions.DEFAULT) { perms ->
@@ -1465,7 +1465,7 @@ class MessagesPresenterTest {
assertThat(initialState.threads.hasThreads).isFalse()
// Enable the feature flag, now it should reflect the thread list state
featureFlagService.setFeatureEnabled(FeatureFlags.RoomThreadList, true)
featureFlagService.setFeatureEnabled(FeatureFlags.Threads, true)
skipItems(1)
assertThat(awaitItem().threads.hasThreads).isTrue()
+1 -1
View File
@@ -183,7 +183,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:26.09.9"
matrix_sdk = "org.matrix.rustcomponents:sdk-android:26.09.26"
# Others
coil = { module = "io.coil-kt.coil3:coil", version.ref = "coil" }
@@ -116,13 +116,6 @@ enum class FeatureFlags(
defaultValue = { false },
isFinished = false,
),
RoomThreadList(
key = "feature.room_thread_list",
title = "Add a list of threads in a room",
description = "Add a new screen with a list of threads in a room.",
defaultValue = { false },
isFinished = false,
),
AutomaticBackPagination(
key = "feature.automatic_back_pagination",
title = "Automatic back pagination of rooms",
@@ -28,7 +28,6 @@ fun Throwable.mapAuthenticationException(): AuthenticationException {
}
is ClientBuildException.WellKnownLookupFailed -> AuthenticationException.Generic(message)
is ClientBuildException.EventCache -> AuthenticationException.Generic(message)
is ClientBuildException.InvalidRawKey -> AuthenticationException.Generic(message)
is ClientBuildException.WellKnownLookupDisabled -> AuthenticationException.Generic(message)
}
is OAuthException -> when (this) {
@@ -478,7 +478,7 @@ class JoinedRustRoom(
widgetSettings = widgetSettings,
room = innerRoom,
widgetCapabilitiesProvider = object : WidgetCapabilitiesProvider {
override fun acquireCapabilities(capabilities: WidgetCapabilities): WidgetCapabilities {
override suspend fun acquireCapabilities(capabilities: WidgetCapabilities): WidgetCapabilities {
return getElementCallRequiredPermissions(sessionId.value, baseRoom.deviceId.value)
}
},
@@ -31,7 +31,6 @@ import org.matrix.rustcomponents.sdk.EventOrTransactionId
import org.matrix.rustcomponents.sdk.QueueWedgeError
import org.matrix.rustcomponents.sdk.Reaction
import org.matrix.rustcomponents.sdk.ShieldState
import org.matrix.rustcomponents.sdk.TimelineItemContent
import uniffi.matrix_sdk_ui.TimelineEventShieldStateCode
import org.matrix.rustcomponents.sdk.EventSendState as RustEventSendState
import org.matrix.rustcomponents.sdk.EventTimelineItem as RustEventTimelineItem
@@ -52,7 +51,7 @@ class EventTimelineItemMapper(
isOwn = isOwn,
isRemote = isRemote,
localSendState = localSendState?.map(),
reactions = (content as? TimelineItemContent.MsgLike)?.content?.reactions.map(),
reactions = reactions.map(),
receipts = readReceipts.map(),
sender = UserId(sender),
senderProfile = senderProfile.map(),
@@ -16,6 +16,7 @@ import org.matrix.rustcomponents.sdk.EventSendState
import org.matrix.rustcomponents.sdk.EventTimelineItem
import org.matrix.rustcomponents.sdk.LazyTimelineItemProvider
import org.matrix.rustcomponents.sdk.ProfileDetails
import org.matrix.rustcomponents.sdk.Reaction
import org.matrix.rustcomponents.sdk.Receipt
import org.matrix.rustcomponents.sdk.TimelineItemContent
import uniffi.matrix_sdk_ui.EventItemOrigin
@@ -37,6 +38,7 @@ internal fun aRustEventTimelineItem(
readReceipts: Map<String, Receipt> = emptyMap(),
origin: EventItemOrigin? = EventItemOrigin.SYNC,
canBeRepliedTo: Boolean = true,
reactions: List<Reaction> = emptyList(),
lazyProvider: LazyTimelineItemProvider = FakeFfiLazyTimelineItemProvider(),
) = EventTimelineItem(
isRemote = isRemote,
@@ -55,5 +57,6 @@ internal fun aRustEventTimelineItem(
readReceipts = readReceipts,
origin = origin,
canBeRepliedTo = canBeRepliedTo,
reactions = reactions,
lazyProvider = lazyProvider,
)
@@ -27,7 +27,6 @@ internal fun aRustTimelineItemContentMsgLike(
mentions = null,
)
),
reactions = emptyList(),
threadRoot = null,
inReplyTo = null,
threadSummary = null,