From d0ba22dc4fe696da5658406fd5acefe4b768fbbf Mon Sep 17 00:00:00 2001 From: ryanzhao Date: Tue, 7 Mar 2023 15:48:27 +1100 Subject: [PATCH] fix retry sending attachments that are not downloaded --- .../Conversations/ConversationVC+Interaction.swift | 14 +++++++++++++- .../Database/Models/Attachment.swift | 3 ++- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Session/Conversations/ConversationVC+Interaction.swift b/Session/Conversations/ConversationVC+Interaction.swift index a8ca98c6d..6ab7495c2 100644 --- a/Session/Conversations/ConversationVC+Interaction.swift +++ b/Session/Conversations/ConversationVC+Interaction.swift @@ -1611,7 +1611,19 @@ extension ConversationVC: quotedAttachment.downloadUrl == Attachment.nonMediaQuoteFileId, let quotedInteraction = try? quote.originalInteraction.fetchOne(db) { - let attachment = try? quotedInteraction.attachments.fetchAll(db).first + let attachment: Attachment? = { + if let attachment = try? quotedInteraction.attachments.fetchAll(db).first { + return attachment + } + if + let linkPreview = try? quotedInteraction.linkPreview.fetchOne(db), + let linkPreviewAttachment = try? linkPreview.attachment.fetchOne(db) + { + return linkPreviewAttachment + } + + return nil + }() try quote.with( attachmentId: attachment?.cloneAsQuoteThumbnail()?.inserted(db).id ).update(db) diff --git a/SessionMessagingKit/Database/Models/Attachment.swift b/SessionMessagingKit/Database/Models/Attachment.swift index fc004c92e..ab5a4024c 100644 --- a/SessionMessagingKit/Database/Models/Attachment.swift +++ b/SessionMessagingKit/Database/Models/Attachment.swift @@ -883,9 +883,10 @@ extension Attachment { let cloneId: String = UUID().uuidString let thumbnailName: String = "quoted-thumbnail-\(sourceFilename ?? "null")" + guard self.isVisualMedia else { return nil } + guard self.isValid, - self.isVisualMedia, let thumbnailPath: String = Attachment.originalFilePath( id: cloneId, mimeType: OWSMimeTypeImageJpeg,