From 958dde0f6e571d310e7e3c542cee51a8d078d234 Mon Sep 17 00:00:00 2001 From: Michelle Tang Date: Mon, 18 Aug 2025 11:40:10 -0400 Subject: [PATCH] Fix bugs for chat folders in storage sync. --- .../org/thoughtcrime/securesms/database/ChatFolderTables.kt | 1 + .../thoughtcrime/securesms/storage/ChatFolderRecordProcessor.kt | 2 +- .../securesms/storage/NotificationProfileRecordProcessor.kt | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/database/ChatFolderTables.kt b/app/src/main/java/org/thoughtcrime/securesms/database/ChatFolderTables.kt index 788f5a8493..faab23efc6 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/database/ChatFolderTables.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/database/ChatFolderTables.kt @@ -326,6 +326,7 @@ class ChatFolderTables(context: Context?, databaseHelper: SignalDatabase?) : Dat ChatFolderTable.SHOW_MUTED to chatFolder.showMutedChats, ChatFolderTable.SHOW_INDIVIDUAL to chatFolder.showIndividualChats, ChatFolderTable.SHOW_GROUPS to chatFolder.showGroupChats, + ChatFolderTable.STORAGE_SERVICE_ID to chatFolder.storageServiceId.let { Base64.encodeWithPadding(chatFolder.storageServiceId!!.raw) }, ChatFolderTable.STORAGE_SERVICE_PROTO to storageServiceProto, ChatFolderTable.DELETED_TIMESTAMP_MS to chatFolder.deletedTimestampMs ) diff --git a/app/src/main/java/org/thoughtcrime/securesms/storage/ChatFolderRecordProcessor.kt b/app/src/main/java/org/thoughtcrime/securesms/storage/ChatFolderRecordProcessor.kt index b9bf942555..b376ec66e4 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/storage/ChatFolderRecordProcessor.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/storage/ChatFolderRecordProcessor.kt @@ -75,7 +75,7 @@ class ChatFolderRecordProcessor : DefaultStorageRecordProcessor 0 && local.proto.deletedAtTimestampMs > 0) { - if (remote.proto.deletedAtTimestampMs < local.proto.deletedAtTimestampMs) { + if (remote.proto.deletedAtTimestampMs <= local.proto.deletedAtTimestampMs) { remote } else { local diff --git a/app/src/main/java/org/thoughtcrime/securesms/storage/NotificationProfileRecordProcessor.kt b/app/src/main/java/org/thoughtcrime/securesms/storage/NotificationProfileRecordProcessor.kt index 9505f63458..e2190ae0a0 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/storage/NotificationProfileRecordProcessor.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/storage/NotificationProfileRecordProcessor.kt @@ -72,7 +72,7 @@ class NotificationProfileRecordProcessor : DefaultStorageRecordProcessor 0 return when { - isRemoteDeleted && isLocalDeleted -> if (remote.proto.deletedAtTimestampMs < local.proto.deletedAtTimestampMs) remote else local + isRemoteDeleted && isLocalDeleted -> if (remote.proto.deletedAtTimestampMs <= local.proto.deletedAtTimestampMs) remote else local isRemoteDeleted -> remote isLocalDeleted -> local else -> remote