diff --git a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift index 39b361d..ab75ef3 100644 --- a/NucleicRemote/NucleicRemote/Models/RemoteStore.swift +++ b/NucleicRemote/NucleicRemote/Models/RemoteStore.swift @@ -715,7 +715,12 @@ final class RemoteStore: ObservableObject { } cb.sessionBecameWaiting = { [weak self] summary in guard let self, !self.isActive else { return } - NotificationRouter.shared.postSessionUpdate(summary) + // Backgrounded: prefer the glance — it shows the waiting session and alerts through the + // local update (sound/haptic). Only fall back to a banner when there's no glance at all + // (Live Activities off), so a needs-input arrival is never silent. + if !LiveActivityManager.shared.hasLiveActivity { + NotificationRouter.shared.postSessionUpdate(summary) + } } cb.wireError = { [weak self] error in self?.showError(error.message, sessionID: error.sessionID)