mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-02 21:33:26 +00:00
Adopt latest rust side sliding sync fixes. Relates to https://github.com/matrix-org/matrix-rust-sdk/pull/1936
This commit is contained in:
committed by
Stefan Ceriu
parent
0066761380
commit
ce36be4e8b
@@ -62,6 +62,7 @@ class ClientProxy: ClientProxyProtocol {
|
||||
|
||||
private var slidingSyncObserverToken: TaskHandle?
|
||||
private var slidingSync: SlidingSyncProtocol?
|
||||
private var slidingSyncTasks = [TaskHandle?]()
|
||||
|
||||
var visibleRoomsListBuilder: SlidingSyncListBuilder?
|
||||
var visibleRoomsListProxy: SlidingSyncListProxy?
|
||||
@@ -532,14 +533,14 @@ class ClientProxy: ClientProxyProtocol {
|
||||
|
||||
if let allRoomsListBuilder {
|
||||
MXLog.info("Registering all rooms view")
|
||||
_ = slidingSync?.addList(listBuilder: allRoomsListBuilder)
|
||||
slidingSyncTasks.append(slidingSync?.addList(listBuilder: allRoomsListBuilder))
|
||||
} else {
|
||||
MXLog.error("All rooms sliding sync view unavailable")
|
||||
}
|
||||
|
||||
if let invitesListBuilder {
|
||||
MXLog.info("Registering invites view")
|
||||
_ = slidingSync?.addList(listBuilder: invitesListBuilder)
|
||||
slidingSyncTasks.append(slidingSync?.addList(listBuilder: invitesListBuilder))
|
||||
} else {
|
||||
MXLog.error("Invites sliding sync view unavailable")
|
||||
}
|
||||
@@ -547,7 +548,7 @@ class ClientProxy: ClientProxyProtocol {
|
||||
if ServiceLocator.shared.settings.enableLocalPushNotifications {
|
||||
if let notificationsListBuilder {
|
||||
MXLog.info("Registering notifications view")
|
||||
_ = slidingSync?.addList(listBuilder: notificationsListBuilder)
|
||||
slidingSyncTasks.append(slidingSync?.addList(listBuilder: notificationsListBuilder))
|
||||
} else {
|
||||
MXLog.error("Notifications sliding sync view unavailable")
|
||||
}
|
||||
|
||||
@@ -33,7 +33,9 @@ class RoomProxy: RoomProxyProtocol {
|
||||
|
||||
private(set) var displayName: String?
|
||||
|
||||
private var timelineObservationToken: TaskHandle?
|
||||
private var roomSubscriptionObservationToken: TaskHandle?
|
||||
private var roomUnsubscriptionObservationToken: TaskHandle?
|
||||
private var roomTimelineObservationToken: TaskHandle?
|
||||
|
||||
private let membersSubject = CurrentValueSubject<[RoomMemberProxyProtocol], Never>([])
|
||||
var membersPublisher: AnyPublisher<[RoomMemberProxyProtocol], Never> {
|
||||
@@ -142,8 +144,10 @@ class RoomProxy: RoomProxyProtocol {
|
||||
RequiredState(key: "m.room.canonical_alias", value: ""),
|
||||
RequiredState(key: "m.room.join_rules", value: "")],
|
||||
timelineLimit: UInt32(SlidingSyncConstants.timelinePrecachingTimelineLimit))
|
||||
if let result = try? slidingSyncRoom.subscribeAndAddTimelineListener(listener: listener, settings: settings) {
|
||||
timelineObservationToken = result.taskHandle
|
||||
roomSubscriptionObservationToken = slidingSyncRoom.subscribeToRoom(settings: settings)
|
||||
|
||||
if let result = try? slidingSyncRoom.addTimelineListener(listener: listener) {
|
||||
roomTimelineObservationToken = result.taskHandle
|
||||
Task {
|
||||
await fetchMembers()
|
||||
await updateMembers()
|
||||
@@ -155,8 +159,12 @@ class RoomProxy: RoomProxyProtocol {
|
||||
}
|
||||
|
||||
func removeTimelineListener() {
|
||||
timelineObservationToken?.cancel()
|
||||
timelineObservationToken = nil
|
||||
roomTimelineObservationToken?.cancel()
|
||||
roomTimelineObservationToken = nil
|
||||
|
||||
roomSubscriptionObservationToken = nil
|
||||
|
||||
roomUnsubscriptionObservationToken = slidingSyncRoom.unsubscribeFromRoom()
|
||||
}
|
||||
|
||||
func paginateBackwards(requestSize: UInt, untilNumberOfItems: UInt) async -> Result<Void, RoomProxyError> {
|
||||
|
||||
@@ -57,7 +57,7 @@ struct EventTimelineItemProxy {
|
||||
guard let localSendState = item.localSendState() else { return nil }
|
||||
|
||||
switch localSendState {
|
||||
case .notSendYet:
|
||||
case .notSentYet:
|
||||
return .sending
|
||||
case .sendingFailed:
|
||||
return .sendingFailed
|
||||
|
||||
Reference in New Issue
Block a user