diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt index 51fc903d8d..d8cd8c480f 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/RustMatrixClient.kt @@ -64,6 +64,7 @@ import org.matrix.rustcomponents.sdk.SlidingSyncList import org.matrix.rustcomponents.sdk.SlidingSyncListBuilder import org.matrix.rustcomponents.sdk.SlidingSyncListOnceBuilt import org.matrix.rustcomponents.sdk.SlidingSyncRequestListFilters +import org.matrix.rustcomponents.sdk.SlidingSyncSelectiveModeBuilder import org.matrix.rustcomponents.sdk.TaskHandle import org.matrix.rustcomponents.sdk.use import timber.log.Timber @@ -124,8 +125,7 @@ class RustMatrixClient constructor( ) ) .filters(visibleRoomsSlidingSyncFilters) - .syncModeSelective() - .addRange(0u, 20u) + .syncModeSelective(SlidingSyncSelectiveModeBuilder().addRange(0u, 20u)) .onceBuilt(object : SlidingSyncListOnceBuilt { override fun updateList(list: SlidingSyncList): SlidingSyncList { visibleRoomsSlidingSyncList.tryEmit(list) @@ -146,8 +146,7 @@ class RustMatrixClient constructor( ) ) .filters(invitesSlidingSyncFilters) - .syncModeSelective() - .addRange(0u, 20u) + .syncModeSelective(SlidingSyncSelectiveModeBuilder().addRange(0u, 20u)) .onceBuilt(object : SlidingSyncListOnceBuilt { override fun updateList(list: SlidingSyncList): SlidingSyncList { invitesSlidingSyncList.tryEmit(list) @@ -156,10 +155,9 @@ class RustMatrixClient constructor( }) private val slidingSync = client - .slidingSync() + .slidingSync("ElementX") // .homeserver("https://slidingsync.lab.matrix.org") .withCommonExtensions() - .storageKey("ElementX") .addList(visibleRoomsSlidingSyncListBuilder) .addList(invitesSlidingSyncListBuilder) .use { diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt index 2574e96d3b..ab94298418 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/room/RustRoomSummaryDataSource.kt @@ -38,6 +38,7 @@ import org.matrix.rustcomponents.sdk.RoomListEntry import org.matrix.rustcomponents.sdk.SlidingSync import org.matrix.rustcomponents.sdk.SlidingSyncList import org.matrix.rustcomponents.sdk.SlidingSyncListRoomsListDiff +import org.matrix.rustcomponents.sdk.SlidingSyncSelectiveModeBuilder import org.matrix.rustcomponents.sdk.SlidingSyncState import org.matrix.rustcomponents.sdk.UpdateSummary import timber.log.Timber @@ -98,7 +99,9 @@ internal class RustRoomSummaryDataSource( override fun setSlidingSyncRange(range: IntRange) { Timber.v("setVisibleRange=$range") coroutineScope.launch { - slidingSyncListFlow.first().setRange(range.first.toUInt(), range.last.toUInt()) + val slidingSyncMode = SlidingSyncSelectiveModeBuilder() + .addRange(range.first.toUInt(), range.last.toUInt()) + slidingSyncListFlow.first().setSyncMode(slidingSyncMode) } } diff --git a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt index 408861226b..af27aedc13 100644 --- a/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt +++ b/libraries/matrix/impl/src/main/kotlin/io/element/android/libraries/matrix/impl/timeline/RustMatrixTimeline.kt @@ -159,7 +159,7 @@ class RustMatrixTimeline( ), timelineLimit = null ) - listenerTokens += slidingSyncRoom.subscribeToRoom(settings) + slidingSyncRoom.subscribeToRoom(settings) val result = slidingSyncRoom.addTimelineListener(timelineListener) launch { fetchMembers()