diff --git a/NucleicRemote/NucleicRemote/LiveActivityManager.swift b/NucleicRemote/NucleicRemote/LiveActivityManager.swift index 25bd6e8..4dd1dc3 100644 --- a/NucleicRemote/NucleicRemote/LiveActivityManager.swift +++ b/NucleicRemote/NucleicRemote/LiveActivityManager.swift @@ -51,9 +51,13 @@ final class LiveActivityManager { let needsYou = live.filter { $0.status.needsYou($0.disposition) } guard !running.isEmpty || !needsYou.isEmpty else { - end() + finishWithDoneGlance(hostName: hostName, live: live) return } + // Work is active again — abort any pending "Done" dismissal so the glance doesn't clear + // out from under a run that just resumed (or a new one that just started). + dismissTask?.cancel() + dismissTask = nil // Everything in flight or waiting on the user, attention-first (approvals, then waiting // input, then running), freshest within a rank. This is both the detail-row source and