Skip to content

Commit

Permalink
Import: Be resilient to deletions from importObject
Browse files Browse the repository at this point in the history
  • Loading branch information
scottnonnenberg-signal committed Oct 31, 2018
1 parent 7e16b1e commit 712193a
Showing 1 changed file with 6 additions and 3 deletions.
9 changes: 6 additions & 3 deletions js/modules/backup.js
Original file line number Diff line number Diff line change
Expand Up @@ -344,6 +344,8 @@ async function importFromJsonString(db, jsonString, targetPath, options) {
transaction.oncomplete = finish.bind(null, 'transaction complete');

_.each(remainingStoreNames, storeName => {
const items = importObject[storeName];

window.log.info('Importing items for store', storeName);

let count = 0;
Expand All @@ -367,11 +369,12 @@ async function importFromJsonString(db, jsonString, targetPath, options) {
}
};

if (!importObject[storeName].length) {
if (!items || !items.length) {
finishStore();
return;
}

_.each(importObject[storeName], toAdd => {
_.each(items, toAdd => {
toAdd = unstringify(toAdd);

const haveGroupAlready =
Expand All @@ -386,7 +389,7 @@ async function importFromJsonString(db, jsonString, targetPath, options) {
const request = transaction.objectStore(storeName).put(toAdd, toAdd.id);
request.onsuccess = () => {
count += 1;
if (count === importObject[storeName].length) {
if (count + skipCount >= items.length) {
finishStore();
}
};
Expand Down

0 comments on commit 712193a

Please sign in to comment.