From 4262c387a237e8077c23bda70dd07c101536d3cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Leon=20B=C3=B6ttger?= Date: Sat, 26 Jul 2025 18:53:58 +0200 Subject: [PATCH] Only call connectionWasTerminated if not rejected --- NearbyShare/InboundNearbyConnection.swift | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/NearbyShare/InboundNearbyConnection.swift b/NearbyShare/InboundNearbyConnection.swift index 6253a25..8ed02fb 100644 --- a/NearbyShare/InboundNearbyConnection.swift +++ b/NearbyShare/InboundNearbyConnection.swift @@ -17,6 +17,7 @@ import SwiftECC class InboundNearbyConnection: NearbyConnection { private var currentState: State = .initial + private var wasRejected = false public var delegate: InboundNearbyConnectionDelegate? private var cipherCommitment: Data? @@ -35,11 +36,13 @@ class InboundNearbyConnection: NearbyConnection { super.handleConnectionClosure() currentState = .disconnected - DispatchQueue.main.async { - self.delegate?.connectionWasTerminated(connection: self, error: self.lastError) - - SaveFilesManager.shared.movePendingFilesToTarget() - SaveFilesManager.shared.stopAccessingSecurityScopedResource() + if !self.wasRejected { + DispatchQueue.main.async { + self.delegate?.connectionWasTerminated(connection: self, error: self.lastError) + + SaveFilesManager.shared.movePendingFilesToTarget() + SaveFilesManager.shared.stopAccessingSecurityScopedResource() + } } } @@ -460,6 +463,8 @@ class InboundNearbyConnection: NearbyConnection { private func rejectTransfer(with reason: Sharing_Nearby_ConnectionResponseFrame.Status = .reject) { + self.wasRejected = true + log("Rejecting transfer because of \( reason)") var frame = Sharing_Nearby_Frame()