From cb10f8b08064b17babfff17c770097ca878cb250 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin <2769109+epoberezkin@users.noreply.github.com> Date: Thu, 21 Sep 2023 19:02:47 +0100 Subject: [PATCH] ui: optionally encrypt received SMP files (#3095) --- apps/ios/Shared/Views/Chat/ChatItem/CIFileView.swift | 2 +- apps/ios/SimpleX NSE/NotificationService.swift | 2 +- apps/ios/SimpleXChat/ChatTypes.swift | 1 - .../commonMain/kotlin/chat/simplex/common/model/ChatModel.kt | 3 +-- .../kotlin/chat/simplex/common/views/chat/item/CIFileView.kt | 2 +- 5 files changed, 4 insertions(+), 6 deletions(-) diff --git a/apps/ios/Shared/Views/Chat/ChatItem/CIFileView.swift b/apps/ios/Shared/Views/Chat/ChatItem/CIFileView.swift index 1c32f36c9..359633a5f 100644 --- a/apps/ios/Shared/Views/Chat/ChatItem/CIFileView.swift +++ b/apps/ios/Shared/Views/Chat/ChatItem/CIFileView.swift @@ -84,7 +84,7 @@ struct CIFileView: View { Task { logger.debug("CIFileView fileAction - in .rcvInvitation, in Task") if let user = ChatModel.shared.currentUser { - let encrypted = file.fileProtocol == .xftp && privacyEncryptLocalFilesGroupDefault.get() + let encrypted = privacyEncryptLocalFilesGroupDefault.get() await receiveFile(user: user, fileId: file.fileId, encrypted: encrypted) } } diff --git a/apps/ios/SimpleX NSE/NotificationService.swift b/apps/ios/SimpleX NSE/NotificationService.swift index f0a5c2a06..645fdb595 100644 --- a/apps/ios/SimpleX NSE/NotificationService.swift +++ b/apps/ios/SimpleX NSE/NotificationService.swift @@ -383,7 +383,7 @@ func apiSetFileToReceive(fileId: Int64, encrypted: Bool) { func autoReceiveFile(_ file: CIFile, encrypted: Bool) -> ChatItem? { switch file.fileProtocol { case .smp: - return apiReceiveFile(fileId: file.fileId, encrypted: false)?.chatItem + return apiReceiveFile(fileId: file.fileId, encrypted: encrypted)?.chatItem case .xftp: apiSetFileToReceive(fileId: file.fileId, encrypted: encrypted) return nil diff --git a/apps/ios/SimpleXChat/ChatTypes.swift b/apps/ios/SimpleXChat/ChatTypes.swift index a24c82110..c0ec04857 100644 --- a/apps/ios/SimpleXChat/ChatTypes.swift +++ b/apps/ios/SimpleXChat/ChatTypes.swift @@ -2144,7 +2144,6 @@ public struct ChatItem: Identifiable, Decodable { } public var encryptLocalFile: Bool { - file?.fileProtocol == .xftp && content.msgContent?.isVideo == false && privacyEncryptLocalFilesGroupDefault.get() } diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt index 17c62c45e..887abe756 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/model/ChatModel.kt @@ -1416,8 +1416,7 @@ data class ChatItem ( val encryptedFile: Boolean? = if (file?.fileSource == null) null else file.fileSource.cryptoArgs != null val encryptLocalFile: Boolean - get() = file?.fileProtocol == FileProtocol.XFTP && - content.msgContent !is MsgContent.MCVideo && + get() = content.msgContent !is MsgContent.MCVideo && chatController.appPrefs.privacyEncryptLocalFiles.get() val memberDisplayName: String? get() = diff --git a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIFileView.kt b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIFileView.kt index 8de805ba5..87f4aa4f3 100644 --- a/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIFileView.kt +++ b/apps/multiplatform/common/src/commonMain/kotlin/chat/simplex/common/views/chat/item/CIFileView.kt @@ -71,7 +71,7 @@ fun CIFileView( when (file.fileStatus) { is CIFileStatus.RcvInvitation -> { if (fileSizeValid()) { - val encrypted = file.fileProtocol == FileProtocol.XFTP && chatController.appPrefs.privacyEncryptLocalFiles.get() + val encrypted = chatController.appPrefs.privacyEncryptLocalFiles.get() receiveFile(file.fileId, encrypted) } else { AlertManager.shared.showAlertMsg(