From adfb000587e2625ab729c8313fb3c64203837da3 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Mon, 19 Jan 2026 08:54:02 +0000 Subject: [PATCH] fix: keep device pairing requests on later --- .../Clawdbot/DevicePairingApprovalPrompter.swift | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/apps/macos/Sources/Clawdbot/DevicePairingApprovalPrompter.swift b/apps/macos/Sources/Clawdbot/DevicePairingApprovalPrompter.swift index cbcaca07d..9d12b7828 100644 --- a/apps/macos/Sources/Clawdbot/DevicePairingApprovalPrompter.swift +++ b/apps/macos/Sources/Clawdbot/DevicePairingApprovalPrompter.swift @@ -171,11 +171,14 @@ final class DevicePairingApprovalPrompter { } private func handleAlertResponse(_ response: NSApplication.ModalResponse, request: PendingRequest) async { + var shouldRemove = response != .alertFirstButtonReturn defer { - if self.queue.first == request { - self.queue.removeFirst() - } else { - self.queue.removeAll { $0 == request } + if shouldRemove { + if self.queue.first == request { + self.queue.removeFirst() + } else { + self.queue.removeAll { $0 == request } + } } self.updatePendingCounts() self.isPresenting = false @@ -190,6 +193,11 @@ final class DevicePairingApprovalPrompter { switch response { case .alertFirstButtonReturn: + shouldRemove = false + if let idx = self.queue.firstIndex(of: request) { + self.queue.remove(at: idx) + } + self.queue.append(request) return case .alertSecondButtonReturn: _ = await self.approve(requestId: request.requestId)