From 76248b48789bc566771a35a283ec58867cb61ca7 Mon Sep 17 00:00:00 2001 From: spaced4ndy <8711996+spaced4ndy@users.noreply.github.com> Date: Thu, 9 May 2024 15:40:23 +0400 Subject: [PATCH] core: on receive set file crypto args only for new files (#4152) --- src/Simplex/Chat.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Simplex/Chat.hs b/src/Simplex/Chat.hs index 9f93a98a53..d56e731246 100644 --- a/src/Simplex/Chat.hs +++ b/src/Simplex/Chat.hs @@ -2039,9 +2039,9 @@ processChatCommand' vr = \case SendFileDescription _chatName _f -> pure $ chatCmdError Nothing "TODO" ReceiveFile fileId encrypted_ rcvInline_ filePath_ -> withUser $ \_ -> withFileLock "receiveFile" fileId . procCmd $ do - (user, ft) <- withStore (`getRcvFileTransferById` fileId) + (user, ft@RcvFileTransfer {fileStatus}) <- withStore (`getRcvFileTransferById` fileId) encrypt <- (`fromMaybe` encrypted_) <$> chatReadVar encryptLocalFiles - ft' <- (if encrypt then setFileToEncrypt else pure) ft + ft' <- (if encrypt && fileStatus == RFSNew then setFileToEncrypt else pure) ft receiveFile' user ft' rcvInline_ filePath_ SetFileToReceive fileId encrypted_ -> withUser $ \_ -> do withFileLock "setFileToReceive" fileId . procCmd $ do