Fix bad data for users that rotated their recovery key.

This commit is contained in:
Cody Henthorne
2025-10-01 12:11:44 -04:00
committed by Michelle Tang
parent e08b86cda6
commit 67a693107e
2 changed files with 22 additions and 1 deletions

View File

@@ -109,11 +109,14 @@ import org.thoughtcrime.securesms.jobs.BackupRestoreMediaJob
import org.thoughtcrime.securesms.jobs.CancelRestoreMediaJob
import org.thoughtcrime.securesms.jobs.CreateReleaseChannelJob
import org.thoughtcrime.securesms.jobs.LocalBackupJob
import org.thoughtcrime.securesms.jobs.MultiDeviceKeysUpdateJob
import org.thoughtcrime.securesms.jobs.RequestGroupV2InfoJob
import org.thoughtcrime.securesms.jobs.ResetSvrGuessCountJob
import org.thoughtcrime.securesms.jobs.RestoreOptimizedMediaJob
import org.thoughtcrime.securesms.jobs.RetrieveProfileJob
import org.thoughtcrime.securesms.jobs.StickerPackDownloadJob
import org.thoughtcrime.securesms.jobs.StorageForcePushJob
import org.thoughtcrime.securesms.jobs.Svr2MirrorJob
import org.thoughtcrime.securesms.jobs.UploadAttachmentToArchiveJob
import org.thoughtcrime.securesms.keyvalue.BackupValues.ArchiveServiceCredentials
import org.thoughtcrime.securesms.keyvalue.KeyValueStore
@@ -241,9 +244,22 @@ object BackupRepository {
resetInitializedStateAndAuthCredentials()
SignalStore.account.rotateAccountEntropyPool(stagedKeyRotations.aep)
SignalStore.backup.mediaRootBackupKey = stagedKeyRotations.mediaRootBackupKey
refreshMasterKeyDependents()
BackupMessagesJob.enqueue()
}
private fun refreshMasterKeyDependents() {
val jobs = buildList {
add(Svr2MirrorJob())
if (SignalStore.account.isMultiDevice) {
add(MultiDeviceKeysUpdateJob())
}
add(StorageForcePushJob())
}
AppDependencies.jobManager.addAll(jobs)
}
fun resetInitializedStateAndAuthCredentials() {
SignalStore.backup.backupsInitialized = false
SignalStore.backup.messageCredentials.clearAll()