From ca16d0e6f871b406b33cc871a4e65cfcb1b74873 Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Wed, 21 May 2025 09:24:33 -0400 Subject: [PATCH] Fix decryption errors post remote restore. --- .../thoughtcrime/securesms/backup/v2/BackupRepository.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt index 6f2be2abc4..f135600655 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/backup/v2/BackupRepository.kt @@ -63,8 +63,11 @@ import org.thoughtcrime.securesms.crypto.DatabaseSecretProvider import org.thoughtcrime.securesms.database.AttachmentTable import org.thoughtcrime.securesms.database.BackupMediaSnapshotTable.ArchiveMediaItem import org.thoughtcrime.securesms.database.KeyValueDatabase +import org.thoughtcrime.securesms.database.KyberPreKeyTable +import org.thoughtcrime.securesms.database.OneTimePreKeyTable import org.thoughtcrime.securesms.database.SearchTable import org.thoughtcrime.securesms.database.SignalDatabase +import org.thoughtcrime.securesms.database.SignedPreKeyTable import org.thoughtcrime.securesms.database.model.InAppPaymentSubscriberRecord import org.thoughtcrime.securesms.dependencies.AppDependencies import org.thoughtcrime.securesms.groups.GroupId @@ -801,8 +804,14 @@ object BackupRepository { } Log.d(TAG, "[import] --- Recreating all tables ---") + val skipTables = setOf(KyberPreKeyTable.TABLE_NAME, OneTimePreKeyTable.TABLE_NAME, SignedPreKeyTable.TABLE_NAME) val tableMetadata = SignalDatabase.rawDatabase.getAllTableDefinitions().filter { !it.name.startsWith(SearchTable.FTS_TABLE_NAME + "_") } for (table in tableMetadata) { + if (skipTables.contains(table.name)) { + Log.d(TAG, "[import] Skipping drop/create of table ${table.name}") + continue + } + Log.d(TAG, "[import] Dropping table ${table.name}...") SignalDatabase.rawDatabase.execSQL("DROP TABLE IF EXISTS ${table.name}")