fix: keep device pairing requests on later
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
Reference in New Issue
Block a user