about summary refs log tree commit diff stats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/assets/javascripts/helpers/common.js23
-rw-r--r--src/assets/javascripts/helpers/medium.js3
-rw-r--r--src/pages/background/background.js1
-rw-r--r--src/pages/options/options.js15
-rw-r--r--src/pages/popup/popup.js20
5 files changed, 35 insertions, 27 deletions
diff --git a/src/assets/javascripts/helpers/common.js b/src/assets/javascripts/helpers/common.js
index a0e05c7f..2c99bc2e 100644
--- a/src/assets/javascripts/helpers/common.js
+++ b/src/assets/javascripts/helpers/common.js
@@ -1,12 +1,33 @@
+
 function filterInstances(instances) {
-  return instances.filter((instance) => !instance.includes(".onion"));
+  let filtered = instances.filter((instance) => !instance.includes(".onion"));
+  let result = filtered.map((item, i) => "https://" + item)
+  return result;
 }
 
 function getRandomInstance(instances) {
   return instances[~~(instances.length * Math.random())];
 }
 
+function getInstances() {
+  const apiEndpoint = 'https://raw.githubusercontent.com/libredirect/instances/main/data.json';
+  let request = new XMLHttpRequest();
+  request.open('GET', apiEndpoint, false);
+  request.send(null);
+
+  if (request.status === 200) {
+    const instances = JSON.parse(request.responseText);
+    const nitterRandomPool = filterInstances(instances.twitter).join(',');
+    const invidiousRandomPool = filterInstances(instances.youtube).join(',');
+    const bibliogramRandomPool = filterInstances(instances.instagram).join(',');
+    browser.storage.sync.set({ nitterRandomPool, invidiousRandomPool, bibliogramRandomPool });
+    return true;
+  }
+  return false;
+}
+
 export default {
   filterInstances,
   getRandomInstance,
+  getInstances,
 };
diff --git a/src/assets/javascripts/helpers/medium.js b/src/assets/javascripts/helpers/medium.js
index 039e780c..e62a6549 100644
--- a/src/assets/javascripts/helpers/medium.js
+++ b/src/assets/javascripts/helpers/medium.js
@@ -1,5 +1,6 @@
 const targets = [
-  /.*medium.com/,
+  // /(.*\.medium\.com)?(?(1)|^medium\.com)/,
+  /^medium.com/,
   /.*\.medium.com/,
   // Other domains of medium blogs, source(s): https://findingtom.com/best-medium-blogs-to-follow/#1-forge
   /towardsdatascience.com/,
diff --git a/src/pages/background/background.js b/src/pages/background/background.js
index aae71834..1f2eccce 100644
--- a/src/pages/background/background.js
+++ b/src/pages/background/background.js
@@ -653,6 +653,7 @@ browser.webRequest.onBeforeRequest.addListener(
         redirectUrl: redirectReddit(url, initiator, details.type),
       };
     } else if (mediumDomains.some((rx) => rx.test(url.host))) {
+      oldDomain = "https://medium.com/"
       redirect = {
         redirectUrl: redirectMedium(url, initiator),
       };
diff --git a/src/pages/options/options.js b/src/pages/options/options.js
index 639d351b..e0fd03e1 100644
--- a/src/pages/options/options.js
+++ b/src/pages/options/options.js
@@ -614,19 +614,10 @@ for (i = 0; i < coll.length; i++) {
   });
 }
 
-const apiEndpoint = 'https://raw.githubusercontent.com/libredirect/instances/main/data.json';
 document.querySelector("#update-instances").addEventListener("click", () => {
   document.querySelector("#update-instances").innerHTML = '...';
-  let request = new XMLHttpRequest();
-  request.open('GET', apiEndpoint, false);
-  request.send(null);
-
-  if (request.status === 200) {
-    const instances = JSON.parse(request.responseText);
-    const nitterRandomPool = instances.twitter.join(',');
-    const invidiousRandomPool = instances.youtube.join(',');
-    const bibliogramRandomPool = instances.instagram.join(',');
-    browser.storage.sync.set({ nitterRandomPool, invidiousRandomPool, bibliogramRandomPool });
+  if (commonHelper.getInstances())
     document.querySelector("#update-instances").innerHTML = 'Done!';
-  }
+  else
+    document.querySelector("#update-instances").innerHTML = 'Failed Miserabely';
 });
\ No newline at end of file
diff --git a/src/pages/popup/popup.js b/src/pages/popup/popup.js
index 01497cad..8ee09521 100644
--- a/src/pages/popup/popup.js
+++ b/src/pages/popup/popup.js
@@ -1,5 +1,7 @@
 "use strict";
 
+import commonHelper from "../../assets/javascripts/helpers/common.js";
+
 let disableNitter = document.querySelector("#disable-nitter");
 let disableInvidious = document.querySelector("#disable-invidious");
 let disableBibliogram = document.querySelector("#disable-bibliogram");
@@ -75,21 +77,13 @@ disableScribe.addEventListener("change", (event) => {
   browser.storage.sync.set({ disableScribe: !event.target.checked });
 });
 
-const apiEndpoint = 'https://raw.githubusercontent.com/libredirect/instances/main/data.json';
+
 document.querySelector("#update-instances").addEventListener("click", () => {
-  let request = new XMLHttpRequest();
-  request.open('GET', apiEndpoint, false);
-  request.send(null);
-
-  if (request.status === 200) {
-    document.querySelector("#update-instances").innerHTML = 'gav';
-    const instances = JSON.parse(request.responseText);
-    const nitterRandomPool = instances.twitter.join(',');
-    const invidiousRandomPool = instances.youtube.join(',');
-    const bibliogramRandomPool = instances.instagram.join(',');
-    browser.storage.sync.set({ nitterRandomPool, invidiousRandomPool, bibliogramRandomPool });
+  document.querySelector("#update-instances").innerHTML = '...';
+  if (commonHelper.getInstances())
     document.querySelector("#update-instances").innerHTML = 'Done!';
-  }
+  else
+    document.querySelector("#update-instances").innerHTML = 'Failed Miserabely';
 });
 
 document.querySelector("#more-options").addEventListener("click", () => {