diff options
author | ManeraKai <manerakai@protonmail.com> | 2023-10-21 20:11:34 +0300 |
---|---|---|
committer | ManeraKai <manerakai@protonmail.com> | 2023-10-21 20:11:34 +0300 |
commit | 8649bad9b92dcb1e9a07ade03f05cb35e652260f (patch) | |
tree | 9bd43dfbeca760487ec5522e160d672639fb1c36 | |
parent | Merge branch 'master' of https://github.com/libredirect/browser_extension (diff) | |
download | libredirect-8649bad9b92dcb1e9a07ade03f05cb35e652260f.zip |
Avoided Redundancy in ping test https://github.com/libredirect/browser_extension/issues/827
-rw-r--r-- | src/pages/background/background.js | 69 | ||||
-rw-r--r-- | src/pages/options/index.js | 9 |
2 files changed, 42 insertions, 36 deletions
diff --git a/src/pages/background/background.js b/src/pages/background/background.js index 631ccebc..961dac11 100644 --- a/src/pages/background/background.js +++ b/src/pages/background/background.js @@ -90,38 +90,43 @@ browser.tabs.onRemoved.addListener(tabId => { browser.commands.onCommand.addListener(async command => { browser.tabs.query({ active: true, currentWindow: true }, async tabs => { const url = new URL(tabs[0].url) - if (command == "switchInstance") { - const newUrl = await servicesHelper.switchInstance(url) - if (newUrl) browser.tabs.update({ url: newUrl }) - } - else if (command == "copyRaw") { - servicesHelper.copyRaw(url) - } - else if (command == "redirect") { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - const newUrl = servicesHelper.redirect(url, "main_frame", null, true) - if (newUrl) { - browser.tabs.update(tabs[0].id, { url: newUrl }, () => { - tabIdRedirects[tabs[0].id] = true - }) + switch (command) { + case "switchInstance": + const newUrl = await servicesHelper.switchInstance(url) + if (newUrl) browser.tabs.update({ url: newUrl }) + break + case "copyRaw": { + servicesHelper.copyRaw(url) + break + } + case "redirect": { + browser.tabs.query({ active: true, currentWindow: true }, async tabs => { + if (tabs[0].url) { + const url = new URL(tabs[0].url) + const newUrl = servicesHelper.redirect(url, "main_frame", null, true) + if (newUrl) { + browser.tabs.update(tabs[0].id, { url: newUrl }, () => { + tabIdRedirects[tabs[0].id] = true + }) + } } - } - }) - } - else if (command == "reverse") { - browser.tabs.query({ active: true, currentWindow: true }, async tabs => { - if (tabs[0].url) { - const url = new URL(tabs[0].url) - const newUrl = await servicesHelper.reverse(url) - if (newUrl) { - browser.tabs.update(tabs[0].id, { url: newUrl }, () => { - tabIdRedirects[tabs[0].id] = false - }) + }) + break + } + case "reverse": { + browser.tabs.query({ active: true, currentWindow: true }, async tabs => { + if (tabs[0].url) { + const url = new URL(tabs[0].url) + const newUrl = await servicesHelper.reverse(url) + if (newUrl) { + browser.tabs.update(tabs[0].id, { url: newUrl }, () => { + tabIdRedirects[tabs[0].id] = false + }) + } } - } - }) + }) + break + } } }) }) @@ -201,7 +206,6 @@ browser.contextMenus.onClicked.addListener(async (info) => { case 'copyReverseLink': { const url = new URL(info.linkUrl) - console.log(url) await servicesHelper.copyRaw(url) return } @@ -250,7 +254,6 @@ browser.contextMenus.onClicked.addListener(async (info) => { else browser.tabs.create({ url: newUrl }) } }) - return } case 'reverseBookmark': @@ -302,4 +305,4 @@ browser.runtime.onMessage.addListener((request, sender, sendResponse) => { } }) } -}); \ No newline at end of file +}) \ No newline at end of file diff --git a/src/pages/options/index.js b/src/pages/options/index.js index 1c2a9c90..020980bb 100644 --- a/src/pages/options/index.js +++ b/src/pages/options/index.js @@ -338,18 +338,21 @@ async function ping(frontend) { ] let pingCache = await utils.getPingCache() + let redundancyList = {} for (const element of instanceElements) { let span = element.getElementsByClassName('ping')[0] if (!span) span = document.createElement('span') span.classList = ['ping'] span.innerHTML = '<span style="color:lightblue">pinging...</span>' element.appendChild(span) - const href = element.getElementsByTagName('a')[0].href - const time = await utils.ping(href) + const innerHTML = element.getElementsByTagName('a')[0].innerHTML + const time = redundancyList[innerHTML] ?? await utils.ping(href) const { color, text } = processTime(time) span.innerHTML = `<span style="color:${color};">${text}</span>` - pingCache[element.getElementsByTagName('a')[0].innerHTML] = time + pingCache[innerHTML] = time + redundancyList[innerHTML] = time + browser.storage.local.set({ pingCache }) } } |