mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-03 16:10:20 +00:00
#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:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user