Adopt latest rust side sliding sync fixes. Relates to https://github.com/matrix-org/matrix-rust-sdk/pull/1936

This commit is contained in:
Stefan Ceriu 2023-05-17 16:08:17 +03:00 committed by Stefan Ceriu
parent 0066761380
commit ce36be4e8b
6 changed files with 23 additions and 14 deletions

View File

@ -4609,7 +4609,7 @@
repositoryURL = "https://github.com/matrix-org/matrix-rust-components-swift";
requirement = {
kind = exactVersion;
version = "0.0.1-paginate-only-with-token";
version = "1.0.65-alpha";
};
};
96495DD8554E2F39D3954354 /* XCRemoteSwiftPackageReference "posthog-ios" */ = {

View File

@ -102,8 +102,8 @@
"kind" : "remoteSourceControl",
"location" : "https://github.com/matrix-org/matrix-rust-components-swift",
"state" : {
"revision" : "f7e5c77a9f443e93edb179d5cc1b0b1cb2f5e0b1",
"version" : "0.0.1-paginate-only-with-token"
"revision" : "937bd40d601b59d676c18e466fd111925e498799",
"version" : "1.0.65-alpha"
}
},
{
@ -172,7 +172,7 @@
{
"identity" : "swift-snapshot-testing",
"kind" : "remoteSourceControl",
"location" : "https://github.com/pointfreeco/swift-snapshot-testing.git",
"location" : "https://github.com/pointfreeco/swift-snapshot-testing",
"state" : {
"revision" : "cef5b3f6f11781dd4591bdd1dd0a3d22bd609334",
"version" : "1.11.0"

View File

@ -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")
}

View File

@ -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> {

View File

@ -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

View File

@ -42,7 +42,7 @@ include:
packages:
MatrixRustSDK:
url: https://github.com/matrix-org/matrix-rust-components-swift
exactVersion: 0.0.1-paginate-only-with-token
exactVersion: 1.0.65-alpha
# path: ../matrix-rust-sdk
DesignKit:
path: DesignKit