diff --git a/src/js/background/backgroundLogic.js b/src/js/background/backgroundLogic.js index 6eef30e..30d0d55 100644 --- a/src/js/background/backgroundLogic.js +++ b/src/js/background/backgroundLogic.js @@ -32,6 +32,10 @@ const backgroundLogic = { await browser.contextualIdentities.remove(this.cookieStoreId(userContextId)); } assignManager.deleteContainer(userContextId); + + // Now remove the identity->proxy association in proxifiedContainers also + proxifiedContainers.delete(this.cookieStoreId(userContextId)); + return {done: true, userContextId}; }, diff --git a/src/js/proxified-containers.js b/src/js/proxified-containers.js index 1cd0b01..909996a 100644 --- a/src/js/proxified-containers.js +++ b/src/js/proxified-containers.js @@ -148,17 +148,17 @@ proxifiedContainers = { } }, - //Deletes the proxy information object for a specified cookieStoreId [useful for cleaning] + // Deletes the proxy information object for a specified cookieStoreId [useful for cleaning] delete(cookieStoreId) { return new Promise((resolve, reject) => { // Assumes proxy is a properly formatted object proxifiedContainers.retrieve().then((proxifiedContainersStore) => { - let index = proxifiedContainersStore.findIndex(i => i.cookieStoreId === cookieStoreId); + const index = proxifiedContainersStore.findIndex(i => i.cookieStoreId === cookieStoreId); if (index === -1) { reject({error: "not-found", message: `Container '${cookieStoreId}' not found.`}); } else { - delete proxifiedContainersStore[index]; + proxifiedContainersStore.splice(index, 1); } browser.storage.local.set({