call cursor.update during backup field migration, needs new version

This commit is contained in:
Bruno Windels 2022-02-01 12:31:10 +01:00
parent 00c5e747d2
commit 2e3616e05d
1 changed files with 10 additions and 2 deletions

View File

@ -33,7 +33,8 @@ export const schema: MigrationFunc[] = [
changeSSSSKeyPrefix,
backupAndRestoreE2EEAccountToLocalStorage,
clearAllStores,
addInboundSessionBackupIndex
addInboundSessionBackupIndex,
migrateBackupStatus
];
// TODO: how to deal with git merge conflicts of this array?
@ -280,6 +281,13 @@ async function clearAllStores(db: IDBDatabase, txn: IDBTransaction) {
// v15 add backup index to inboundGroupSessions
async function addInboundSessionBackupIndex(db: IDBDatabase, txn: IDBTransaction, localStorage: IDOMStorage, log: ILogItem): Promise<void> {
const inboundGroupSessions = txn.objectStore("inboundGroupSessions");
inboundGroupSessions.createIndex("byBackup", "backup", {unique: false});
}
// v16 migrates the backup and source fields of inbound group sessions
async function migrateBackupStatus(db: IDBDatabase, txn: IDBTransaction, localStorage: IDOMStorage, log: ILogItem): Promise<void> {
const inboundGroupSessions = txn.objectStore("inboundGroupSessions");
let countWithSession = 0;
let countWithoutSession = 0;
@ -291,6 +299,7 @@ async function addInboundSessionBackupIndex(db: IDBDatabase, txn: IDBTransaction
// to backup keys that were already in backup, which
// the server will ignore
value.source = KeySource.DeviceMessage;
cursor.update(value);
countWithSession += 1;
} else {
countWithoutSession += 1;
@ -299,5 +308,4 @@ async function addInboundSessionBackupIndex(db: IDBDatabase, txn: IDBTransaction
});
log.set("countWithoutSession", countWithoutSession);
log.set("countWithSession", countWithSession);
inboundGroupSessions.createIndex("byBackup", "backup", {unique: false});
}