diff --git a/apps/ios/Shared/Model/SimpleXAPI.swift b/apps/ios/Shared/Model/SimpleXAPI.swift index 12cab783a..c99f176b7 100644 --- a/apps/ios/Shared/Model/SimpleXAPI.swift +++ b/apps/ios/Shared/Model/SimpleXAPI.swift @@ -822,21 +822,19 @@ func apiReceiveFile(fileId: Int64, inline: Bool? = nil, auto: Bool = false) asyn } } else if let networkErrorAlert = networkErrorAlert(r) { logger.error("apiReceiveFile network error: \(String(describing: r))") - if !auto { - am.showAlert(networkErrorAlert) - } + am.showAlert(networkErrorAlert) } else { - switch r { - case .chatCmdError(_, .error(.fileAlreadyReceiving)): + switch chatError(r) { + case .fileCancelled: + logger.debug("apiReceiveFile ignoring fileCancelled error") + case .fileAlreadyReceiving: logger.debug("apiReceiveFile ignoring fileAlreadyReceiving error") default: logger.error("apiReceiveFile error: \(String(describing: r))") - if !auto { - am.showAlertMsg( - title: "Error receiving file", - message: "Error: \(String(describing: r))" - ) - } + am.showAlertMsg( + title: "Error receiving file", + message: "Error: \(String(describing: r))" + ) } } return nil diff --git a/apps/ios/SimpleXChat/APITypes.swift b/apps/ios/SimpleXChat/APITypes.swift index 4e37c368c..a33f6496d 100644 --- a/apps/ios/SimpleXChat/APITypes.swift +++ b/apps/ios/SimpleXChat/APITypes.swift @@ -821,6 +821,14 @@ public enum ChatResponse: Decodable, Error { } } +public func chatError(_ chatResponse: ChatResponse) -> ChatErrorType? { + switch chatResponse { + case let .chatCmdError(_, .error(error)): return error + case let .chatError(_, .error(error)): return error + default: return nil + } +} + struct NewUser: Encodable { var profile: Profile? var sameServers: Bool