mirror of
https://github.com/signalapp/Signal-Android.git
synced 2026-04-21 09:20:19 +01:00
Improve delete sync coverage for partial expiring threads.
This commit is contained in:
committed by
Greyson Parrelli
parent
070174fee6
commit
6659700a1c
@@ -1536,8 +1536,12 @@ object SyncMessageProcessor {
|
||||
continue
|
||||
}
|
||||
|
||||
val mostRecentMessagesToDelete: List<MessageTable.SyncMessageId> = delete.mostRecentMessages.mapNotNull { it.toSyncMessageId(envelopeTimestamp) }
|
||||
val latestReceivedAt = SignalDatabase.messages.getLatestReceivedAt(threadId, mostRecentMessagesToDelete)
|
||||
var latestReceivedAt = SignalDatabase.messages.getLatestReceivedAt(threadId, delete.mostRecentMessages.mapNotNull { it.toSyncMessageId(envelopeTimestamp) })
|
||||
|
||||
if (latestReceivedAt == null && delete.mostRecentNonExpiringMessages.isNotEmpty()) {
|
||||
log(envelopeTimestamp, "[handleSynchronizeDeleteForMe] Using backup non-expiring messages")
|
||||
latestReceivedAt = SignalDatabase.messages.getLatestReceivedAt(threadId, delete.mostRecentNonExpiringMessages.mapNotNull { it.toSyncMessageId(envelopeTimestamp) })
|
||||
}
|
||||
|
||||
if (latestReceivedAt != null) {
|
||||
SignalDatabase.threads.trimThread(threadId = threadId, syncThreadTrimDeletes = false, trimBeforeDate = latestReceivedAt, inclusive = true)
|
||||
|
||||
Reference in New Issue
Block a user