Transcript Incremental Projection
Nucleic-Session: 0FFD007B-0696-4517-9429-129C7B0FD5AC Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
@@ -659,6 +659,19 @@ final class RemoteStore: ObservableObject {
|
||||
self.openEvents = Self.mergedEvents(self.openEvents, batch.events)
|
||||
self.persistOpenTranscript()
|
||||
}
|
||||
cb.transcriptPrefetched = { [weak self] sessionID, events in
|
||||
guard let self else { return }
|
||||
self.prefetchInFlight = nil
|
||||
if !events.isEmpty {
|
||||
// Merge into whatever the cache already holds (the fetch pulled only the gap);
|
||||
// `saveEvents` re-caps to the tail window on write.
|
||||
Task {
|
||||
let cached = await SessionCache.loadEvents(sessionID)
|
||||
await SessionCache.saveEvents(Self.mergedEvents(cached, events), for: sessionID)
|
||||
}
|
||||
}
|
||||
self.pumpTranscriptPrefetch()
|
||||
}
|
||||
cb.openDiff = { [weak self] diff in
|
||||
guard let self, hostID == self.openSessionHostID, diff.sessionID == self.openSessionID else { return }
|
||||
self.openDiff = diff
|
||||
|
||||
Reference in New Issue
Block a user