about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/_locales/ar/messages.json4
-rw-r--r--src/_locales/de/messages.json4
-rw-r--r--src/_locales/en/messages.json4
-rw-r--r--src/_locales/ja/messages.json4
-rw-r--r--src/assets/javascripts/reddit.js50
-rw-r--r--src/assets/javascripts/search.js76
-rw-r--r--src/assets/javascripts/tiktok.js9
-rw-r--r--src/assets/javascripts/translate/translate.js10
-rw-r--r--src/assets/javascripts/twitter.js31
-rw-r--r--src/assets/javascripts/utils.js24
-rw-r--r--src/assets/javascripts/wikipedia.js7
-rw-r--r--src/assets/javascripts/youtube/youtube.js3
-rw-r--r--src/pages/background/background.js24
-rw-r--r--src/pages/background/incognito.html2
-rw-r--r--src/pages/popup/popup.js15
15 files changed, 120 insertions, 147 deletions
diff --git a/src/_locales/ar/messages.json b/src/_locales/ar/messages.json
index 7ec48d0c..1915f7f2 100644
--- a/src/_locales/ar/messages.json
+++ b/src/_locales/ar/messages.json
@@ -27,10 +27,6 @@
     "message": "توحيد الإعدادات",
     "description": "used in the popup"
   },
-  "unified": {
-    "message": "تم التوحيد",
-    "description": "used in the popup"
-  },
   "general": {
     "message": "العامة",
     "description": "used in the settings page"
diff --git a/src/_locales/de/messages.json b/src/_locales/de/messages.json
index 85177573..0782b72a 100644
--- a/src/_locales/de/messages.json
+++ b/src/_locales/de/messages.json
@@ -203,10 +203,6 @@
     "message": "",
     "description": ""
   },
-  "unified": {
-    "message": "",
-    "description": ""
-  },
   "lbry": {
     "message": "",
     "description": ""
diff --git a/src/_locales/en/messages.json b/src/_locales/en/messages.json
index 25bba4eb..a31447f0 100644
--- a/src/_locales/en/messages.json
+++ b/src/_locales/en/messages.json
@@ -207,10 +207,6 @@
     "message": "Unify Settings",
     "description": ""
   },
-  "unified": {
-    "message": "Unified",
-    "description": ""
-  },
   "lbry": {
     "message": "LBRY",
     "description": ""
diff --git a/src/_locales/ja/messages.json b/src/_locales/ja/messages.json
index 897b30b9..b74478d6 100644
--- a/src/_locales/ja/messages.json
+++ b/src/_locales/ja/messages.json
@@ -207,10 +207,6 @@
     "message": "設定の統一",
     "description": ""
   },
-  "unified": {
-    "message": "統一されました",
-    "description": ""
-  },
   "lbry": {
     "message": "LBRY",
     "description": ""
diff --git a/src/assets/javascripts/reddit.js b/src/assets/javascripts/reddit.js
index 8872aaf3..53651048 100644
--- a/src/assets/javascripts/reddit.js
+++ b/src/assets/javascripts/reddit.js
@@ -92,7 +92,7 @@ browser.storage.onChanged.addListener(init)
 function initLibredditCookies(test, from) {
   return new Promise(async resolve => {
     await init();
-    let protocolHost = utils.protocolHost(from);
+    const protocolHost = utils.protocolHost(from);
     if (![
       ...libredditNormalRedirectsChecks,
       ...libredditTorRedirectsChecks,
@@ -104,18 +104,16 @@ function initLibredditCookies(test, from) {
       let checkedInstances;
       if (redditProtocol == 'normal') checkedInstances = [...libredditNormalRedirectsChecks, ...libredditNormalCustomRedirects];
       else if (redditProtocol == 'tor') checkedInstances = [...libredditTorRedirectsChecks, ...libredditTorCustomRedirects];
-      for (const to of checkedInstances) {
-        utils.copyCookie('libreddit', from, to, "theme");
-        utils.copyCookie('libreddit', from, to, "front_page");
-        utils.copyCookie('libreddit', from, to, "layout");
-        utils.copyCookie('libreddit', from, to, "wide");
-        utils.copyCookie('libreddit', from, to, "post_sort");
-        utils.copyCookie('libreddit', from, to, "comment_sort");
-        utils.copyCookie('libreddit', from, to, "show_nsfw");
-        utils.copyCookie('libreddit', from, to, "autoplay_videos");
-        utils.copyCookie('libreddit', from, to, "use_hls");
-        utils.copyCookie('libreddit', from, to, "hide_hls_notification");
-      }
+      await utils.copyCookie('libreddit', from, checkedInstances, "theme");
+      await utils.copyCookie('libreddit', from, checkedInstances, "front_page");
+      await utils.copyCookie('libreddit', from, checkedInstances, "layout");
+      await utils.copyCookie('libreddit', from, checkedInstances, "wide");
+      await utils.copyCookie('libreddit', from, checkedInstances, "post_sort");
+      await utils.copyCookie('libreddit', from, checkedInstances, "comment_sort");
+      await utils.copyCookie('libreddit', from, checkedInstances, "show_nsfw");
+      await utils.copyCookie('libreddit', from, checkedInstances, "autoplay_videos");
+      await utils.copyCookie('libreddit', from, checkedInstances, "use_hls");
+      await utils.copyCookie('libreddit', from, checkedInstances, "hide_hls_notification");
     }
     resolve(true);
   })
@@ -159,20 +157,18 @@ function initTedditCookies(test, from) {
       let checkedInstances;
       if (redditProtocol == 'normal') checkedInstances = [...tedditNormalRedirectsChecks, ...tedditNormalCustomRedirects]
       else if (redditProtocol == 'tor') checkedInstances = [...tedditTorRedirectsChecks, ...tedditTorCustomRedirects]
-      for (const to of checkedInstances) {
-        utils.copyCookie('teddit', from, to, 'collapse_child_comments')
-        utils.copyCookie('teddit', from, to, 'domain_instagram')
-        utils.copyCookie('teddit', from, to, 'domain_twitter')
-        utils.copyCookie('teddit', from, to, 'domain_youtube')
-        utils.copyCookie('teddit', from, to, 'flairs')
-        utils.copyCookie('teddit', from, to, 'highlight_controversial')
-        utils.copyCookie('teddit', from, to, 'nsfw_enabled')
-        utils.copyCookie('teddit', from, to, 'post_media_max_height')
-        utils.copyCookie('teddit', from, to, 'show_upvoted_percentage')
-        utils.copyCookie('teddit', from, to, 'show_upvotes')
-        utils.copyCookie('teddit', from, to, 'theme')
-        utils.copyCookie('teddit', from, to, 'videos_muted')
-      }
+      await utils.copyCookie('teddit', from, checkedInstances, 'collapse_child_comments')
+      await utils.copyCookie('teddit', from, checkedInstances, 'domain_instagram')
+      await utils.copyCookie('teddit', from, checkedInstances, 'domain_twitter')
+      await utils.copyCookie('teddit', from, checkedInstances, 'domain_youtube')
+      await utils.copyCookie('teddit', from, checkedInstances, 'flairs')
+      await utils.copyCookie('teddit', from, checkedInstances, 'highlight_controversial')
+      await utils.copyCookie('teddit', from, checkedInstances, 'nsfw_enabled')
+      await utils.copyCookie('teddit', from, checkedInstances, 'post_media_max_height')
+      await utils.copyCookie('teddit', from, checkedInstances, 'show_upvoted_percentage')
+      await utils.copyCookie('teddit', from, checkedInstances, 'show_upvotes')
+      await utils.copyCookie('teddit', from, checkedInstances, 'theme')
+      await utils.copyCookie('teddit', from, checkedInstances, 'videos_muted')
     }
     resolve(true);
   })
diff --git a/src/assets/javascripts/search.js b/src/assets/javascripts/search.js
index b32a8141..cb4c54fd 100644
--- a/src/assets/javascripts/search.js
+++ b/src/assets/javascripts/search.js
@@ -153,25 +153,23 @@ function initSearxCookies(test, from) {
       if (searchProtocol == 'normal') checkedInstances = [...searxNormalRedirectsChecks, ...searxNormalCustomRedirects];
       else if (searchProtocol == 'tor') checkedInstances = [...searxTorRedirectsChecks, ...searxTorCustomRedirects];
       else if (searchProtocol == 'i2p') checkedInstances = [...searxI2pRedirectsChecks, ...searxI2pCustomRedirects];
-      for (const to of checkedInstances) {
-        utils.copyCookie('searx', from, to, 'advanced_search');
-        utils.copyCookie('searx', from, to, 'autocomplete');
-        utils.copyCookie('searx', from, to, 'categories');
-        utils.copyCookie('searx', from, to, 'disabled_engines');
-        utils.copyCookie('searx', from, to, 'disabled_plugins');
-        utils.copyCookie('searx', from, to, 'doi_resolver');
-        utils.copyCookie('searx', from, to, 'enabled_engines');
-        utils.copyCookie('searx', from, to, 'enabled_plugins');
-        utils.copyCookie('searx', from, to, 'image_proxy');
-        utils.copyCookie('searx', from, to, 'language');
-        utils.copyCookie('searx', from, to, 'locale');
-        utils.copyCookie('searx', from, to, 'method');
-        utils.copyCookie('searx', from, to, 'oscar-style');
-        utils.copyCookie('searx', from, to, 'results_on_new_tab');
-        utils.copyCookie('searx', from, to, 'safesearch');
-        utils.copyCookie('searx', from, to, 'theme');
-        utils.copyCookie('searx', from, to, 'tokens');
-      }
+      await utils.copyCookie('searx', from, checkedInstances, 'advanced_search');
+      await utils.copyCookie('searx', from, checkedInstances, 'autocomplete');
+      await utils.copyCookie('searx', from, checkedInstances, 'categories');
+      await utils.copyCookie('searx', from, checkedInstances, 'disabled_engines');
+      await utils.copyCookie('searx', from, checkedInstances, 'disabled_plugins');
+      await utils.copyCookie('searx', from, checkedInstances, 'doi_resolver');
+      await utils.copyCookie('searx', from, checkedInstances, 'enabled_engines');
+      await utils.copyCookie('searx', from, checkedInstances, 'enabled_plugins');
+      await utils.copyCookie('searx', from, checkedInstances, 'image_proxy');
+      await utils.copyCookie('searx', from, checkedInstances, 'language');
+      await utils.copyCookie('searx', from, checkedInstances, 'locale');
+      await utils.copyCookie('searx', from, checkedInstances, 'method');
+      await utils.copyCookie('searx', from, checkedInstances, 'oscar-style');
+      await utils.copyCookie('searx', from, checkedInstances, 'results_on_new_tab');
+      await utils.copyCookie('searx', from, checkedInstances, 'safesearch');
+      await utils.copyCookie('searx', from, checkedInstances, 'theme');
+      await utils.copyCookie('searx', from, checkedInstances, 'tokens');
     }
     resolve(true);
   })
@@ -225,27 +223,25 @@ function initSearxngCookies(test, from) {
       if (searchProtocol == 'normal') checkedInstances = [...searxngNormalRedirectsChecks, ...searxngNormalCustomRedirects];
       else if (searchProtocol == 'tor') checkedInstances = [...searxngTorRedirectsChecks, ...searxngTorCustomRedirects];
       else if (searchProtocol == 'i2p') checkedInstances = [...searxngI2pRedirectsChecks, ...searxngI2pCustomRedirects];
-      for (const to of checkedInstances) {
-        utils.copyCookie('searxng', from, to, 'autocomplete');
-        utils.copyCookie('searxng', from, to, 'categories');
-        utils.copyCookie('searxng', from, to, 'disabled_engines');
-        utils.copyCookie('searxng', from, to, 'disabled_plugins');
-        utils.copyCookie('searxng', from, to, 'doi_resolver');
-        utils.copyCookie('searxng', from, to, 'enabled_plugins');
-        utils.copyCookie('searxng', from, to, 'enabled_engines');
-        utils.copyCookie('searxng', from, to, 'image_proxy');
-        utils.copyCookie('searxng', from, to, 'infinite_scroll');
-        utils.copyCookie('searxng', from, to, 'language');
-        utils.copyCookie('searxng', from, to, 'locale');
-        utils.copyCookie('searxng', from, to, 'maintab');
-        utils.copyCookie('searxng', from, to, 'method');
-        utils.copyCookie('searxng', from, to, 'query_in_title');
-        utils.copyCookie('searxng', from, to, 'results_on_new_tab');
-        utils.copyCookie('searxng', from, to, 'safesearch');
-        utils.copyCookie('searxng', from, to, 'simple_style');
-        utils.copyCookie('searxng', from, to, 'theme');
-        utils.copyCookie('searxng', from, to, 'tokens');
-      }
+      await utils.copyCookie('searxng', from, checkedInstances, 'autocomplete');
+      await utils.copyCookie('searxng', from, checkedInstances, 'categories');
+      await utils.copyCookie('searxng', from, checkedInstances, 'disabled_engines');
+      await utils.copyCookie('searxng', from, checkedInstances, 'disabled_plugins');
+      await utils.copyCookie('searxng', from, checkedInstances, 'doi_resolver');
+      await utils.copyCookie('searxng', from, checkedInstances, 'enabled_plugins');
+      await utils.copyCookie('searxng', from, checkedInstances, 'enabled_engines');
+      await utils.copyCookie('searxng', from, checkedInstances, 'image_proxy');
+      await utils.copyCookie('searxng', from, checkedInstances, 'infinite_scroll');
+      await utils.copyCookie('searxng', from, checkedInstances, 'language');
+      await utils.copyCookie('searxng', from, checkedInstances, 'locale');
+      await utils.copyCookie('searxng', from, checkedInstances, 'maintab');
+      await utils.copyCookie('searxng', from, checkedInstances, 'method');
+      await utils.copyCookie('searxng', from, checkedInstances, 'query_in_title');
+      await utils.copyCookie('searxng', from, checkedInstances, 'results_on_new_tab');
+      await utils.copyCookie('searxng', from, checkedInstances, 'safesearch');
+      await utils.copyCookie('searxng', from, checkedInstances, 'simple_style');
+      await utils.copyCookie('searxng', from, checkedInstances, 'theme');
+      await utils.copyCookie('searxng', from, checkedInstances, 'tokens');
     }
     resolve(true);
   })
diff --git a/src/assets/javascripts/tiktok.js b/src/assets/javascripts/tiktok.js
index 750744e6..d36c47b0 100644
--- a/src/assets/javascripts/tiktok.js
+++ b/src/assets/javascripts/tiktok.js
@@ -42,17 +42,16 @@ function initProxiTokCookies(test, from) {
             let checkedInstances;
             if (tiktokProtocol == 'normal') checkedInstances = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]
             else if (tiktokProtocol == 'tor') checkedInstances = [...proxiTokTorRedirectsChecks, ...proxiTokTorCustomRedirects]
-            for (const to of checkedInstances) {
-                utils.copyCookie('proxitok', from, to, 'theme');
-                utils.copyCookie('proxitok', from, to, 'api-legacy');
-            }
+            await utils.copyCookie('proxitok', from, checkedInstances, 'theme');
+            await utils.copyCookie('proxitok', from, checkedInstances, 'api-legacy');
         }
         resolve(true);
     })
 }
 
 function setProxiTokCookies() {
-    return new Promise(resolve => {
+    return new Promise(async resolve => {
+        await init();
         if (disableTiktok || tiktokProtocol === undefined) { resolve(); return; }
         let checkedInstances;
         if (tiktokProtocol == 'normal') checkedInstances = [...proxiTokNormalRedirectsChecks, ...proxiTokNormalCustomRedirects]
diff --git a/src/assets/javascripts/translate/translate.js b/src/assets/javascripts/translate/translate.js
index 3c8f9222..cc7a8c02 100644
--- a/src/assets/javascripts/translate/translate.js
+++ b/src/assets/javascripts/translate/translate.js
@@ -143,12 +143,10 @@ function initSimplyTranslateCookies(test, from) {
       let checkedInstances;
       if (translateProtocol == 'normal') checkedInstances = [...simplyTranslateNormalRedirectsChecks, ...simplyTranslateNormalCustomRedirects]
       else if (translateProtocol == 'tor') checkedInstances = [...simplyTranslateTorRedirectsChecks, ...simplyTranslateTorCustomRedirects]
-      for (const to of checkedInstances) {
-        utils.copyCookie('simplyTranslate', from, to, 'from_lang');
-        utils.copyCookie('simplyTranslate', from, to, 'to_lang');
-        utils.copyCookie('simplyTranslate', from, to, 'tts_enabled');
-        utils.copyCookie('simplyTranslate', from, to, 'use_text_fields');
-      }
+      await utils.copyCookie('simplyTranslate', from, checkedInstances, 'from_lang');
+      await utils.copyCookie('simplyTranslate', from, checkedInstances, 'to_lang');
+      await utils.copyCookie('simplyTranslate', from, checkedInstances, 'tts_enabled');
+      await utils.copyCookie('simplyTranslate', from, checkedInstances, 'use_text_fields');
     }
     resolve(true);
   }
diff --git a/src/assets/javascripts/twitter.js b/src/assets/javascripts/twitter.js
index d03c269f..3d110ae4 100644
--- a/src/assets/javascripts/twitter.js
+++ b/src/assets/javascripts/twitter.js
@@ -147,27 +147,24 @@ function initNitterCookies(test, from) {
     const protocolHost = utils.protocolHost(from);
     if (!all().includes(protocolHost)
     ) { resolve(); return; }
-
     if (!test) {
       let checkedInstances;
       if (twitterProtocol == 'normal') checkedInstances = [...nitterNormalRedirectsChecks, ...nitterNormalCustomRedirects]
       else if (twitterProtocol == 'tor') checkedInstances = [...nitterTorRedirectsChecks, ...nitterTorCustomRedirects]
-      for (const to of checkedInstances) {
-        utils.copyCookie('nitter', from, to, 'theme');
-        utils.copyCookie('nitter', from, to, 'infiniteScroll');
-        utils.copyCookie('nitter', from, to, 'stickyProfile');
-        utils.copyCookie('nitter', from, to, 'bidiSupport');
-        utils.copyCookie('nitter', from, to, 'hideTweetStats');
-        utils.copyCookie('nitter', from, to, 'hideBanner');
-        utils.copyCookie('nitter', from, to, 'hidePins');
-        utils.copyCookie('nitter', from, to, 'hideReplies');
-        utils.copyCookie('nitter', from, to, 'squareAvatars');
-        utils.copyCookie('nitter', from, to, 'mp4Playback');
-        utils.copyCookie('nitter', from, to, 'hlsPlayback');
-        utils.copyCookie('nitter', from, to, 'proxyVideos');
-        utils.copyCookie('nitter', from, to, 'muteVideos');
-        utils.copyCookie('nitter', from, to, 'autoplayGifs');
-      }
+      await utils.copyCookie('nitter', from, checkedInstances, 'theme');
+      await utils.copyCookie('nitter', from, checkedInstances, 'infiniteScroll');
+      await utils.copyCookie('nitter', from, checkedInstances, 'stickyProfile');
+      await utils.copyCookie('nitter', from, checkedInstances, 'bidiSupport');
+      await utils.copyCookie('nitter', from, checkedInstances, 'hideTweetStats');
+      await utils.copyCookie('nitter', from, checkedInstances, 'hideBanner');
+      await utils.copyCookie('nitter', from, checkedInstances, 'hidePins');
+      await utils.copyCookie('nitter', from, checkedInstances, 'hideReplies');
+      await utils.copyCookie('nitter', from, checkedInstances, 'squareAvatars');
+      await utils.copyCookie('nitter', from, checkedInstances, 'mp4Playback');
+      await utils.copyCookie('nitter', from, checkedInstances, 'hlsPlayback');
+      await utils.copyCookie('nitter', from, checkedInstances, 'proxyVideos');
+      await utils.copyCookie('nitter', from, checkedInstances, 'muteVideos');
+      await utils.copyCookie('nitter', from, checkedInstances, 'autoplayGifs');
     }
     resolve(true);
   })
diff --git a/src/assets/javascripts/utils.js b/src/assets/javascripts/utils.js
index e3dc2c96..4dbeb6db 100644
--- a/src/assets/javascripts/utils.js
+++ b/src/assets/javascripts/utils.js
@@ -280,16 +280,22 @@ async function testLatency(element, instances) {
   })
 }
 
-function copyCookie(frontend, targetUrl, url, name) {
-  browser.cookies.get(
-    { url: protocolHost(targetUrl), name: name },
-    r => {
-      if (r) {
-        browser.cookies.set({ url: url, name: name, value: r.value })
-        browser.storage.local.set({ [`${frontend}_${name}`]: r.value })
+function copyCookie(frontend, targetUrl, urls, name) {
+  return new Promise(resolve => {
+    browser.cookies.get(
+      { url: protocolHost(targetUrl), name: name },
+      async r => {
+        function setCookies(url, name, value) {
+          return new Promise(resolve => browser.cookies.set({ url: url, name: name, value: value }, () => resolve()))
+        }
+        if (r) {
+          console.log(name, r.value);
+          for (const url of urls) await setCookies(url, name, r.value)
+          browser.storage.local.set({ [`${frontend}_${name}`]: r.value }, () => resolve())
+        } else resolve();
       }
-    }
-  )
+    )
+  })
 }
 
 function getCookiesFromStorage(frontend, to, name) {
diff --git a/src/assets/javascripts/wikipedia.js b/src/assets/javascripts/wikipedia.js
index 868bb01c..dc7af0af 100644
--- a/src/assets/javascripts/wikipedia.js
+++ b/src/assets/javascripts/wikipedia.js
@@ -90,11 +90,8 @@ function initWikilessCookies(test, from) {
       if (wikipediaProtocol == 'normal') checkedInstances = [...wikilessNormalRedirectsChecks, ...wikilessNormalCustomRedirects]
       else if (wikipediaProtocol == 'tor') checkedInstances = [...wikilessTorRedirectsChecks, ...wikilessTorCustomRedirects]
       else if (wikipediaProtocol == 'i2p') checkedInstances = [...wikilessI2pRedirectsChecks, ...wikilessI2pCustomRedirects]
-
-      for (const to of checkedInstances) {
-        utils.copyCookie('wikiless', from, to, 'theme');
-        utils.copyCookie('wikiless', from, to, 'default_lang');
-      }
+      await utils.copyCookie('wikiless', from, checkedInstances, 'theme');
+      await utils.copyCookie('wikiless', from, checkedInstances, 'default_lang');
     }
     resolve(true);
   })
diff --git a/src/assets/javascripts/youtube/youtube.js b/src/assets/javascripts/youtube/youtube.js
index 7d7aa2c1..dfd644ae 100644
--- a/src/assets/javascripts/youtube/youtube.js
+++ b/src/assets/javascripts/youtube/youtube.js
@@ -315,8 +315,7 @@ function initInvidiousCookies(test, from) {
       else if (youtubeProtocol == 'tor') checkedInstances = [...invidiousTorRedirectsChecks, ...invidiousTorCustomRedirects]
       const i = checkedInstances.indexOf(protocolHost);
       if (i !== -1) checkedInstances.splice(i, 1);
-      for (const to of checkedInstances)
-        utils.copyCookie('invidious', from, to, 'PREFS');
+      await utils.copyCookie('invidious', from, checkedInstances, 'PREFS');
     }
     resolve(true);
   })
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index bf992161..933172b6 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -60,15 +60,7 @@ redditHelper.setLibredditCookies();
 redditHelper.setTedditCookies();
 tiktokHelper.setProxiTokCookies();
 
-let incognitoInit = false;
-browser.tabs.onCreated.addListener(
-  tab => {
-    if (!incognitoInit && tab.incognito) {
-      browser.tabs.create({ url: browser.runtime.getURL("/pages/background/incognito.html") });
-      incognitoInit = true;
-    }
-  }
-);
+
 
 let BYPASSTABs = [];
 browser.webRequest.onBeforeRequest.addListener(
@@ -82,7 +74,6 @@ browser.webRequest.onBeforeRequest.addListener(
     }
     catch { return null; }
 
-
     let newUrl = youtubeMusicHelper.redirect(url, details.type)
     if (!newUrl) newUrl = youtubeHelper.redirect(url, details, initiator)
     if (!newUrl) newUrl = twitterHelper.redirect(url, initiator);
@@ -126,8 +117,21 @@ browser.webRequest.onBeforeRequest.addListener(
   ["blocking"]
 );
 
+
+let incognitoList = [];
+browser.tabs.onCreated.addListener(
+  tab => {
+    if (tab.incognito) {
+      incognitoList.push(tab.id);
+      if (incognitoList.length == 1) browser.tabs.create({ url: browser.runtime.getURL("/pages/background/incognito.html") });
+    }
+  }
+);
+
 browser.tabs.onRemoved.addListener(
   tabId => {
+    incognitoList.pop(tabId)
+
     const i = BYPASSTABs.indexOf(tabId);
     if (i > -1) {
       BYPASSTABs.splice(i, 1);
diff --git a/src/pages/background/incognito.html b/src/pages/background/incognito.html
index a618cdb6..7b1c0ee1 100644
--- a/src/pages/background/incognito.html
+++ b/src/pages/background/incognito.html
@@ -29,7 +29,7 @@
 
 <body>
     <div>
-        <p>Initializing Cookies</p>
+        <p>Initializing Cookies...</p>
     </div>
     <script type="module" src="incognito.js"></script>
 </body>
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 5d309f63..d4459917 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -8,16 +8,13 @@ utils.unify(true).then(r => {
   if (!r) document.getElementById('unify_div').style.display = 'none';
   else {
     const unify = document.getElementById('unify');
-    unify.addEventListener("click", () =>
+    const textElement = document.getElementById('unify').getElementsByTagName('h4')[0]
+    unify.addEventListener("click", () => {
+      const oldHtml = textElement.innerHTML;
+      textElement.innerHTML = '...';
       browser.runtime.sendMessage({ function: 'unify' },
-        response => {
-          if (response && response.response) {
-            const textElement = document.getElementById('unify').getElementsByTagName('h4')[0]
-            const oldHtml = textElement.innerHTML;
-            textElement.innerHTML = browser.i18n.getMessage('unified');
-            setTimeout(() => textElement.innerHTML = oldHtml, 1000);
-          }
-        })
+        response => { if (response && response.response) textElement.innerHTML = oldHtml })
+    }
     );
   }
 })