Bump SDK bindings to v26.09.3 (#7637)

Fix API breaks:

- A new `Mentions` room list filter is available.
- `RoomListService.subscribeToRooms` is now `RoomListService.setRoomSubscriptions`.
- `enableAutomaticBackPagination` moved from `Client` to `ClientBuilder`.
This commit is contained in:
Jorge Martin Espinosa
2026-09-07 14:19:19 +02:00
committed by GitHub
parent 79f4e2e06f
commit f0a0700f5d
6 changed files with 16 additions and 12 deletions
@@ -99,6 +99,7 @@ class RustMatrixClientFactory(
isMessageSearchAvailable = isMessageSearchAvailable,
)
.homeserverUrl(sessionData.homeserverUrl)
.enableAutomaticBackPagination(featureFlagService.isFeatureEnabled(FeatureFlags.AutomaticBackPagination))
.let { (clientBuilderEnterpriseHook(RustMatrixClientBuilder(it), SessionId(sessionData.userId)) as RustMatrixClientBuilder).inner }
.use { it.build() }
@@ -127,11 +128,6 @@ class RustMatrixClientFactory(
): RustMatrixClient {
val (anonymizedAccessToken, anonymizedRefreshToken) = client.session().anonymizedTokens()
// Must be called before creating the sync service, timelines etc.
if (featureFlagService.isFeatureEnabled(FeatureFlags.AutomaticBackPagination)) {
client.enableAutomaticBackpagination()
}
client.setUtdDelegate(UtdTracker(analyticsService))
val syncService = client.syncService()
@@ -28,7 +28,7 @@ class RoomSyncSubscriber(
withContext(dispatchers.io) {
try {
Timber.d("Subscribing to room $roomId}")
roomListService.subscribeToRooms(listOf(roomId.value))
roomListService.setRoomSubscriptions(listOf(roomId.value))
} catch (exception: Exception) {
Timber.e(exception, "Failed to subscribe to room $roomId")
}
@@ -40,7 +40,7 @@ class RoomSyncSubscriber(
withContext(dispatchers.io) {
try {
Timber.d("Subscribing to rooms: $roomIds")
roomListService.subscribeToRooms(roomIds.map { it.value })
roomListService.setRoomSubscriptions(roomIds.map { it.value })
} catch (cancellationException: CancellationException) {
throw cancellationException
} catch (exception: Exception) {
@@ -20,9 +20,10 @@ import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.NonLeft
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.NonSpace
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.None
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.NormalizedMatchRoomName
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.ReadReceipts
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.Space
import org.matrix.rustcomponents.sdk.RoomListEntriesDynamicFilterKind.Unread
import org.matrix.rustcomponents.sdk.RoomListFilterCategory
import uniffi.matrix_sdk_ui.RoomListFilterCategory
import uniffi.matrix_sdk_ui.RoomListFilterReadReceipts
/**
* Mapper for converting RoomListFilter to Rust SDK filter kinds.
@@ -67,7 +68,8 @@ internal object RoomListFilterMapper {
RoomListFilter.Category.People -> Category(RoomListFilterCategory.PEOPLE)
RoomListFilter.Category.Space -> Space
RoomListFilter.Favorite -> Favourite
RoomListFilter.Unread -> Unread
RoomListFilter.Unread -> ReadReceipts(RoomListFilterReadReceipts.NOTIFICATIONS)
RoomListFilter.Mentions -> ReadReceipts(RoomListFilterReadReceipts.MENTIONS)
is RoomListFilter.NormalizedMatchRoomName -> NormalizedMatchRoomName(
pattern = filter.pattern
)
@@ -27,6 +27,7 @@ class FakeFfiClientBuilder(
override fun addRootCertificates(certificates: List<ByteArray>) = this
override fun autoEnableBackups(autoEnableBackups: Boolean) = this
override fun autoEnableCrossSigning(autoEnableCrossSigning: Boolean) = this
override fun enableAutomaticBackPagination(enableAutomaticBackPagination: Boolean): ClientBuilder = this
override fun backupDownloadStrategy(backupDownloadStrategy: BackupDownloadStrategy) = this
override fun disableAutomaticTokenRefresh() = this
override fun disableBuiltInRootCertificates() = this