From 80a77a1104204678ae7474536cdabf3ff906e870 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Thu, 3 Aug 2023 14:25:56 +0400 Subject: [PATCH] ios: change logic of not showing alerts on file auto-receive - only don't show on file cancelled errors (#2833) --- apps/ios/Shared/Model/SimpleXAPI.swift | 20 +++++++++----------- apps/ios/SimpleXChat/APITypes.swift | 8 ++++++++ 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/apps/ios/Shared/Model/SimpleXAPI.swift b/apps/ios/Shared/Model/SimpleXAPI.swift index 12cab783a1..c99f176b78 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 4e37c368ce..a33f6496d7 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