diff --git a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift index f5016b2..5d30673 100644 --- a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift +++ b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift @@ -487,6 +487,12 @@ final class RemoteStore: ObservableObject { guard let self, hostID == self.openSessionHostID, batch.sessionID == self.openSessionID else { return } self.openEvents.append(contentsOf: batch.events) } + cb.openBackfill = { [weak self] batch in + guard let self, hostID == self.openSessionHostID, batch.sessionID == self.openSessionID else { return } + // Full-history backfill precedes what's on screen — merge by seq so it slots in above the + // tail rather than appending out of order. + self.openEvents = Self.mergedEvents(self.openEvents, batch.events) + } cb.openDiff = { [weak self] diff in guard let self, hostID == self.openSessionHostID, diff.sessionID == self.openSessionID else { return } self.openDiff = diff