diff --git a/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift b/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift index 7bbcefd..0c6c60a 100644 --- a/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift +++ b/NucleicRemote/NucleicRemote/Views/SessionDetailView.swift @@ -310,6 +310,12 @@ struct SessionDetailView: View { } else { ApprovalCardView(approval: approval, availableHeight: availableHeight) } + } else if store.openApprovalLoading { + // Opened from a Live Activity / notification for a session blocked on approval, but + // the channel is still (re)connecting — bridge the gap with a placeholder so the tap + // lands on the request-in-progress, not a blank transcript. Replaced by the real + // ApprovalCardView the instant the snapshot arrives (sub-second reconnect). + approvalLoadingCard } else if let status = summary?.status { let running = status == .running let canCompose = running || status == .awaitingInput || status.isTerminal