#93: Add a sync limit of 20 and prefill rooms when loading the last message.
Update the SDK to 1.0.13-alpha.
This commit is contained in:
@@ -2707,7 +2707,7 @@
|
||||
repositoryURL = "https://github.com/matrix-org/matrix-rust-components-swift";
|
||||
requirement = {
|
||||
kind = exactVersion;
|
||||
version = "1.0.12-alpha";
|
||||
version = "1.0.13-alpha";
|
||||
};
|
||||
};
|
||||
9A472EE0218FE7DCF5283429 /* XCRemoteSwiftPackageReference "SwiftUI-Introspect" */ = {
|
||||
|
||||
@@ -68,8 +68,8 @@
|
||||
"kind" : "remoteSourceControl",
|
||||
"location" : "https://github.com/matrix-org/matrix-rust-components-swift",
|
||||
"state" : {
|
||||
"revision" : "3dbb1533d1c27dcd311a8c9751de7c020ccf2d8c",
|
||||
"version" : "1.0.12-alpha"
|
||||
"revision" : "1358c9c2a85cfb5fc1bfadce13565e02618725d4",
|
||||
"version" : "1.0.13-alpha"
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -119,7 +119,7 @@ final class HomeScreenCoordinator: Coordinator, Presentable {
|
||||
|
||||
func updateRoomsList() {
|
||||
roomSummaries = parameters.userSession.clientProxy.rooms.compactMap { roomProxy in
|
||||
guard !roomProxy.isSpace, !roomProxy.isTombstoned else {
|
||||
guard roomProxy.isJoined, !roomProxy.isSpace, !roomProxy.isTombstoned else {
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -24,6 +24,9 @@ private class WeakClientProxyWrapper: ClientDelegate {
|
||||
}
|
||||
|
||||
class ClientProxy: ClientProxyProtocol {
|
||||
/// The maximum number of timeline events required during a sync request.
|
||||
static let syncLimit: UInt16 = 20
|
||||
|
||||
private let client: Client
|
||||
private let backgroundTaskService: BackgroundTaskServiceProtocol
|
||||
private var sessionVerificationControllerProxy: SessionVerificationControllerProxy?
|
||||
@@ -48,7 +51,7 @@ class ClientProxy: ClientProxyProtocol {
|
||||
client.setDelegate(delegate: WeakClientProxyWrapper(clientProxy: self))
|
||||
|
||||
Benchmark.startTrackingForIdentifier("ClientSync", message: "Started sync.")
|
||||
client.startSync()
|
||||
client.startSync(timelineLimit: ClientProxy.syncLimit)
|
||||
|
||||
Task { await updateRooms() }
|
||||
}
|
||||
|
||||
@@ -67,6 +67,10 @@ class RoomProxy: RoomProxyProtocol {
|
||||
room.topic()
|
||||
}
|
||||
|
||||
var isJoined: Bool {
|
||||
room.membership() == .joined
|
||||
}
|
||||
|
||||
var isDirect: Bool {
|
||||
room.isDirect()
|
||||
}
|
||||
|
||||
@@ -141,7 +141,8 @@ class RoomSummary: RoomSummaryProtocol {
|
||||
return
|
||||
}
|
||||
|
||||
switch await roomProxy.paginateBackwards(count: 1) {
|
||||
// Pre-fill the room with some messages and use the last message in the response.
|
||||
switch await roomProxy.paginateBackwards(count: UInt(ClientProxy.syncLimit)) {
|
||||
case .success:
|
||||
lastMessage = await eventBriefFactory.buildEventBriefFor(message: roomProxy.messages.last)
|
||||
case .failure(let error):
|
||||
|
||||
1
changelog.d/93.bugfix
Normal file
1
changelog.d/93.bugfix
Normal file
@@ -0,0 +1 @@
|
||||
Add a sync limit of 20 timeline items and prefill rooms with this number of events when calculating the last message.
|
||||
@@ -31,7 +31,7 @@ include:
|
||||
packages:
|
||||
MatrixRustSDK:
|
||||
url: https://github.com/matrix-org/matrix-rust-components-swift
|
||||
exactVersion: 1.0.12-alpha
|
||||
exactVersion: 1.0.13-alpha
|
||||
# path: ../matrix-rust-components-swift
|
||||
DesignKit:
|
||||
path: ./
|
||||
|
||||
Reference in New Issue
Block a user