Enable the sliding sync timeline api. Start observing updates coming through the TimelineListener before addining a timeline listener on the Rust side

This commit is contained in:
Stefan Ceriu
2023-01-04 17:01:03 +02:00
committed by Stefan Ceriu
parent 77d62b2c72
commit cc51795bf0
2 changed files with 17 additions and 19 deletions
@@ -51,18 +51,20 @@ class RoomTimelineProvider: RoomTimelineProviderProtocol {
Task {
let roomTimelineListener = RoomTimelineListener()
roomTimelineListener
.itemsUpdatePublisher
.receive(on: DispatchQueue.main)
// .collect(.byTime(serialDispatchQueue, 0.25))
.sink { [weak self] in self?.updateItemsWithDiffs([$0]) }
.store(in: &cancellables)
switch await roomProxy.addTimelineListener(listener: roomTimelineListener) {
case .failure:
MXLog.error("Failed adding timeline listener on room with identifier: \(await roomProxy.id)")
default:
break
}
roomTimelineListener
.itemsUpdatePublisher
.collect(.byTime(serialDispatchQueue, 0.25))
.sink { [weak self] in self?.updateItemsWithDiffs($0) }
.store(in: &cancellables)
}
}