Register backupIds for all users.

This commit is contained in:
Greyson Parrelli
2025-07-30 10:55:53 -04:00
committed by GitHub
parent 90c381f0ba
commit 1ee606de9e
6 changed files with 125 additions and 10 deletions

View File

@@ -186,9 +186,10 @@ public class ApplicationMigrations {
static final int STORAGE_LOCAL_UNKNOWNS_FIX_2 = 142;
static final int SVR2_ENCLAVE_UPDATE_4 = 143;
static final int RESET_ARCHIVE_TIER = 144;
static final int ARCHIVE_BACKUP_ID = 145;
}
public static final int CURRENT_VERSION = 144;
public static final int CURRENT_VERSION = 145;
/**
* This *must* be called after the {@link JobManager} has been instantiated, but *before* the call
@@ -859,6 +860,10 @@ public class ApplicationMigrations {
jobs.put(Version.RESET_ARCHIVE_TIER, new ResetArchiveTierMigrationJob());
}
if (lastSeenVersion < Version.ARCHIVE_BACKUP_ID) {
jobs.put(Version.ARCHIVE_BACKUP_ID, new ArchiveBackupIdReservationMigrationJob());
}
return jobs;
}

View File

@@ -0,0 +1,35 @@
package org.thoughtcrime.securesms.migrations
import org.signal.core.util.logging.Log
import org.thoughtcrime.securesms.dependencies.AppDependencies
import org.thoughtcrime.securesms.jobmanager.Job
import org.thoughtcrime.securesms.jobs.ArchiveBackupIdReservationJob
/**
* Simple migration job to just enqueue a [ArchiveBackupIdReservationJob] to ensure that all users reserve a backupId.
*/
internal class ArchiveBackupIdReservationMigrationJob(
parameters: Parameters = Parameters.Builder().build()
) : MigrationJob(parameters) {
companion object {
val TAG = Log.tag(ArchiveBackupIdReservationMigrationJob::class.java)
const val KEY = "ArchiveBackupIdReservationMigrationJob"
}
override fun getFactoryKey(): String = KEY
override fun isUiBlocking(): Boolean = false
override fun performMigration() {
AppDependencies.jobManager.add(ArchiveBackupIdReservationJob())
}
override fun shouldRetry(e: Exception): Boolean = false
class Factory : Job.Factory<ArchiveBackupIdReservationMigrationJob> {
override fun create(parameters: Parameters, serializedData: ByteArray?): ArchiveBackupIdReservationMigrationJob {
return ArchiveBackupIdReservationMigrationJob(parameters)
}
}
}