Fix decryption errors post remote restore.

This commit is contained in:
Cody Henthorne
2025-05-21 09:24:33 -04:00
committed by GitHub
parent 690b171d57
commit ca16d0e6f8

View File

@@ -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}")