diff --git a/NucleicRemote/NucleicRemote/Models/HostConnection.swift b/NucleicRemote/NucleicRemote/Models/HostConnection.swift index 029573c..d22efed 100644 --- a/NucleicRemote/NucleicRemote/Models/HostConnection.swift +++ b/NucleicRemote/NucleicRemote/Models/HostConnection.swift @@ -469,7 +469,13 @@ final class HostConnection { send(.listDashboard) // Warm-resubscribe from what we already have, so a reconnect on a long transcript replays // only the gap rather than snapping back to the host's 200-event tail. - if let id = openSessionID { send(.subscribe(Subscribe(sessionID: id, sinceSeq: openMaxSeq, verbosity: .full))) } + if let id = openSessionID { + send(.subscribe(Subscribe(sessionID: id, sinceSeq: openMaxSeq, verbosity: .full))) + // Also pull full history — the subscribe above only replays the tail (or, on a warm + // reconnect, the missed gap). No-op after the first open of this session, so an + // ordinary reconnect keeps the transcript on screen instead of refetching it. + fetchFullTranscript(id) + } case .sessionList(let list): sessions = list callbacks.didUpdate()