Fix possible issue when exporting thread merge update.

This commit is contained in:
Greyson Parrelli
2025-12-03 11:23:05 -05:00
committed by jeffrey-signal
parent bafa9a26c6
commit 464345ee5f
2 changed files with 5 additions and 2 deletions

View File

@@ -312,7 +312,7 @@ class ChatItemArchiveExporter(
}
MessageTypes.isThreadMergeType(record.type) -> {
builder.updateMessage = record.toRemoteThreadMergeUpdate(record.dateSent)?.takeIf { exportState.recipientIdToAci[builder.authorId] != null } ?: continue
builder.updateMessage = record.toRemoteThreadMergeUpdate(record.dateSent)?.takeIf { builder.authorIsAciContact(exportState) } ?: continue
transformTimer.emit("thread-merge")
}
@@ -1721,6 +1721,10 @@ private fun ChatItem.withDowngradeVoiceNotes(): ChatItem {
)
}
private fun ChatItem.Builder.authorIsAciContact(exportState: ExportState): Boolean {
return exportState.recipientIdToAci[this.authorId] != null && this.authorId != exportState.selfRecipientId.toLong() && this.authorId != exportState.releaseNoteRecipientId
}
private fun Cursor.toBackupMessageRecord(pastIds: Set<Long>, backupStartTime: Long): BackupMessageRecord? {
val id = this.requireLong(MessageTable.ID)
if (pastIds.contains(id)) {

View File

@@ -9,7 +9,6 @@ import android.content.Context
import okio.ByteString.Companion.EMPTY
import okio.ByteString.Companion.toByteString
import org.signal.core.util.UuidUtil
import org.signal.core.util.isNotNullOrBlank
import org.signal.core.util.logging.Log
import org.signal.core.util.toByteArray
import org.signal.libsignal.zkgroup.backups.BackupLevel