From ba1e8b6c1492a922b4edfd056a1b0e596406c129 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Sat, 21 Sep 2024 11:22:37 -0400 Subject: [PATCH] Fix handling of invalid quote attachment locators in backups. --- .../backup/v2/database/ChatItemExportIterator.kt | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/ChatItemExportIterator.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/ChatItemExportIterator.kt index aa00abe054..0e3079f68b 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/ChatItemExportIterator.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/database/ChatItemExportIterator.kt @@ -11,7 +11,6 @@ import org.json.JSONArray import org.json.JSONException import org.signal.core.util.Base64 import org.signal.core.util.Hex -import org.signal.core.util.emptyIfNull import org.signal.core.util.logging.Log import org.signal.core.util.orNull import org.signal.core.util.requireBlob @@ -697,10 +696,12 @@ class ChatItemExportIterator(private val cursor: Cursor, private val batchSize: Quote( targetSentTimestamp = this.quoteTargetSentTimestamp.takeIf { !this.quoteMissing && it != MessageTable.QUOTE_TARGET_MISSING_ID }, authorId = this.quoteAuthor, - text = Text( - body = this.quoteBody.emptyIfNull(), - bodyRanges = this.quoteBodyRanges?.toBackupBodyRanges() ?: emptyList() - ), + text = this.quoteBody?.let { body -> + Text( + body = body, + bodyRanges = this.quoteBodyRanges?.toBackupBodyRanges() ?: emptyList() + ) + }, attachments = attachments?.toBackupQuoteAttachments() ?: emptyList(), type = when (type) { QuoteModel.Type.NORMAL -> Quote.Type.NORMAL @@ -750,7 +751,7 @@ class ChatItemExportIterator(private val cursor: Cursor, private val batchSize: Quote.QuotedAttachment( contentType = attachment.contentType, fileName = attachment.fileName, - thumbnail = attachment.toRemoteMessageAttachment() + thumbnail = attachment.toRemoteMessageAttachment().takeUnless { it.pointer?.invalidAttachmentLocator != null } ) } }