fix: keep device pairing requests on later

This commit is contained in:
Peter Steinberger
2026-01-19 08:54:02 +00:00
parent 3776de906f
commit adfb000587

View File

@@ -171,11 +171,14 @@ final class DevicePairingApprovalPrompter {
} }
private func handleAlertResponse(_ response: NSApplication.ModalResponse, request: PendingRequest) async { private func handleAlertResponse(_ response: NSApplication.ModalResponse, request: PendingRequest) async {
var shouldRemove = response != .alertFirstButtonReturn
defer { defer {
if self.queue.first == request { if shouldRemove {
self.queue.removeFirst() if self.queue.first == request {
} else { self.queue.removeFirst()
self.queue.removeAll { $0 == request } } else {
self.queue.removeAll { $0 == request }
}
} }
self.updatePendingCounts() self.updatePendingCounts()
self.isPresenting = false self.isPresenting = false
@@ -190,6 +193,11 @@ final class DevicePairingApprovalPrompter {
switch response { switch response {
case .alertFirstButtonReturn: case .alertFirstButtonReturn:
shouldRemove = false
if let idx = self.queue.firstIndex(of: request) {
self.queue.remove(at: idx)
}
self.queue.append(request)
return return
case .alertSecondButtonReturn: case .alertSecondButtonReturn:
_ = await self.approve(requestId: request.requestId) _ = await self.approve(requestId: request.requestId)