diff --git a/src/js/background/sync.js b/src/js/background/sync.js index 98f6af0..fc6d875 100644 --- a/src/js/background/sync.js +++ b/src/js/background/sync.js @@ -128,12 +128,13 @@ const sync = { await sync.checkForListenersMaybeAdd(); async function updateSyncIdentities() { - const excludeRegExp = await getExcludeRegExp(); + const { syncExcludeRegExp } = await browser.storage.local.get("syncExcludeRegExp"); + const excludeRegExp = new RegExp(syncExcludeRegExp, "i"); const identities = await browser.contextualIdentities.query({}); for (const identity of identities) { // skip excluded identities - if (excludeRegExpMatchesIdentity(excludeRegExp, identity)) { + if (identity.name.match(excludeRegExp)) { continue; } @@ -333,7 +334,6 @@ async function restore() { */ async function reconcileIdentities(){ if (SYNC_DEBUG) console.log("reconcileIdentities"); - const excludeRegExp = await getExcludeRegExp(); // first delete any from the deleted list const deletedIdentityList = @@ -343,14 +343,6 @@ async function reconcileIdentities(){ const deletedCookieStoreId = await identityState.lookupCookieStoreId(deletedUUID); if (deletedCookieStoreId){ - if (excludeRegExp) { - const deletedIdentity = await identityState.get(deletedCookieStoreId); - // skip excluded identities - if (excludeRegExpMatchesIdentity(excludeRegExp, deletedIdentity)) { - continue; - } - } - try{ await browser.contextualIdentities.remove(deletedCookieStoreId); } catch (error) { @@ -365,11 +357,6 @@ async function reconcileIdentities(){ await sync.storageArea.getIdentities(); // find any local dupes created on sync storage and delete from sync storage for (const localIdentity of localIdentities) { - // skip excluded identities - if (excludeRegExpMatchesIdentity(excludeRegExp, localIdentity)) { - continue; - } - const syncIdentitiesOfName = syncIdentitiesRemoveDupes .filter(identity => identity.name === localIdentity.name); if (syncIdentitiesOfName.length > 1) { @@ -383,11 +370,6 @@ async function reconcileIdentities(){ await sync.storageArea.getIdentities(); // now compare all containers for matching names. for (const syncIdentity of syncIdentities) { - // skip excluded identities - if (excludeRegExpMatchesIdentity(excludeRegExp, syncIdentity)) { - continue; - } - if (syncIdentity.macAddonUUID){ const localMatch = localIdentities.find( localIdentity => localIdentity.name === syncIdentity.name @@ -603,24 +585,3 @@ async function setAssignmentWithUUID(assignedSite, urlKey) { } throw new Error (`No cookieStoreId found for: ${uuid}, ${urlKey}`); } - -// Retrieve the sync exclude regexp from local storage. -async function getExcludeRegExp() { - const { syncExcludeRegExp } = await browser.storage.local.get("syncExcludeRegExp"); - if (syncExcludeRegExp) { - return new RegExp(syncExcludeRegExp, "i"); - } else { - return false; - } -} - -// Matching the provided exclude regexp against the provided identity and return -// true if they match. -function excludeRegExpMatchesIdentity(excludeRegExp, identity) { - if (excludeRegExp && identity.name.match(excludeRegExp)) { - if (SYNC_DEBUG) console.log(`Exclude regexp matches identity '${identity.name}'`); - return true; - } else { - return false; - } -}