about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorManeraKai <manerakai@protonmail.com>2022-01-28 00:23:47 +0300
committerManeraKai <manerakai@protonmail.com>2022-01-28 00:23:47 +0300
commit05453901f2b9423942d7c360a9c21ac69caca219 (patch)
tree9be558a71154b27136de0a9a566678385faf2674
parentAdded firefox addons extension link (diff)
downloadlibredirect-05453901f2b9423942d7c360a9c21ac69caca219.zip
Hiding pageAction btn when not in instances
-rw-r--r--package.json4
-rw-r--r--src/manifest.json3
-rw-r--r--src/pages/background/background.js22
3 files changed, 20 insertions, 9 deletions
diff --git a/package.json b/package.json
index 9ef8b667..a56be735 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
-  "name": "LibRedirect",
-  "description": "Redirects Twitter, YouTube, Instagram and more to privacy friendly alternatives.",
+  "name": "libredirect",
+  "description": "Redirects YouTube, Twitter, Instagram and more to privacy friendly frontends.",
   "engines": {
     "node": ">=10.0.0",
     "npm": ">=5.6.0"
diff --git a/src/manifest.json b/src/manifest.json
index 4ea3fea1..0edce604 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -22,9 +22,6 @@
     "<all_urls>"
   ],
   "page_action": {
-    "show_matches": [
-      "<all_urls>"
-    ],
     "default_title": "Change Instance",
     "default_icon": {
       "16": "assets/images/libredirect.svg",
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index dbedd1b2..3f710994 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -547,8 +547,7 @@ function redirectMedium(url, initiator) {
     });
     return null;
   }
-  return `${
-      scribeInstance || commonHelper.getRandomInstance(scribeRandomPool)
+  return `${scribeInstance || commonHelper.getRandomInstance(scribeRandomPool)
     }${url.pathname}${url.search}`;
 }
 
@@ -616,8 +615,8 @@ function redirectWikipedia(url, initiator) {
   else return null;
 }
 
-
-
+var tabList = []
+var redirecting = false;
 browser.webRequest.onBeforeRequest.addListener(
   (details) => {
     const url = new URL(details.url);
@@ -674,6 +673,10 @@ browser.webRequest.onBeforeRequest.addListener(
       };
     }
     if (redirect && redirect.redirectUrl) {
+      redirecting = true;
+      if (!tabList.includes(details.tabId))
+        tabList.push(details.tabId);
+
       console.info(
         "Redirecting",
         `"${url.href}"`,
@@ -681,6 +684,9 @@ browser.webRequest.onBeforeRequest.addListener(
         `"${redirect.redirectUrl}"`
       );
       console.info("Details", details);
+    } else {
+      if (!redirecting)
+        tabList = tabList.filter((val) => val != details.tabId);
     }
     return redirect;
   },
@@ -690,6 +696,14 @@ browser.webRequest.onBeforeRequest.addListener(
   ["blocking"]
 );
 
+browser.tabs.onUpdated.addListener((tabId, _, __) => {
+  if (tabList.includes(tabId))
+    browser.pageAction.show(tabId);
+})
+
+browser.webRequest.onCompleted.addListener(() => {
+  redirecting = false;
+}, { urls: ["<all_urls>"] });
 
 
 browser.runtime.onInstalled.addListener((details) => {