summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--background.js45
-rw-r--r--pages/options/options.html14
-rw-r--r--pages/options/options.js32
-rw-r--r--pages/popup/popup.html10
-rw-r--r--pages/popup/popup.js10
5 files changed, 53 insertions, 58 deletions
diff --git a/background.js b/background.js
index 185147b..5e896a1 100644
--- a/background.js
+++ b/background.js
@@ -88,14 +88,14 @@ const redditDomains = [
"www.reddit.com",
"np.reddit.com",
"new.reddit.com",
- "amp.reddit.com"
+ "amp.reddit.com",
];
const redditBypassPaths = /\/(gallery\/poll\/rpan\/settings\/topics)/;
-const redditVersions = [
- "https://old.reddit.com",
- "https://i.reddit.com" // Old Mobile view
+const oldRedditViews = [
+ "https://old.reddit.com", // desktop
+ "https://i.reddit.com" // mobile
];
-const redditDefault = redditVersions[0];
+const redditDefault = oldRedditViews[0];
const googleMapsRegex = /https?:\/\/(((www|maps)\.)?(google\.).*(\/maps)|maps\.(google\.).*)/;
const mapCentreRegex = /@(-?\d[0-9.]*),(-?\d[0-9.]*),(\d{1,2})[.z]/;
const dataLatLngRegex = /(!3d|!4d)(-?[0-9]{1,10}.[0-9]{1,10})/g;
@@ -117,12 +117,12 @@ let disableNitter;
let disableInvidious;
let disableBibliogram;
let disableOsm;
-let disableRedditVersion;
+let disableOldReddit;
let nitterInstance;
let invidiousInstance;
let bibliogramInstance;
let osmInstance;
-let redditVersion;
+let oldRedditView;
let alwaysProxy;
let onlyEmbeddedVideo;
let videoQuality;
@@ -141,12 +141,12 @@ browser.storage.sync.get(
"invidiousInstance",
"bibliogramInstance",
"osmInstance",
- "redditVersion",
+ "oldRedditView",
"disableNitter",
"disableInvidious",
"disableBibliogram",
"disableOsm",
- "disableRedditVersion",
+ "disableOldReddit",
"alwaysProxy",
"onlyEmbeddedVideo",
"videoQuality",
@@ -162,12 +162,12 @@ browser.storage.sync.get(
disableInvidious = result.disableInvidious;
disableBibliogram = result.disableBibliogram;
disableOsm = result.disableOsm;
- disableRedditVersion = result.disableRedditVersion;
+ disableOldReddit = result.disableOldReddit;
nitterInstance = result.nitterInstance;
invidiousInstance = result.invidiousInstance;
bibliogramInstance = result.bibliogramInstance;
osmInstance = result.osmInstance || osmDefault;
- redditVersion = result.redditVersion || redditDefault;
+ oldRedditView = result.oldRedditView || redditDefault;
alwaysProxy = result.alwaysProxy;
onlyEmbeddedVideo = result.onlyEmbeddedVideo;
videoQuality = result.videoQuality;
@@ -197,8 +197,8 @@ browser.storage.onChanged.addListener((changes) => {
if ("osmInstance" in changes) {
osmInstance = changes.osmInstance.newValue || osmDefault;
}
- if ("redditVersion" in changes) {
- redditVersion = changes.redditVersion.newValue || redditDefault;
+ if ("oldRedditView" in changes) {
+ oldRedditView = changes.oldRedditView.newValue || redditDefault;
}
if ("disableNitter" in changes) {
disableNitter = changes.disableNitter.newValue;
@@ -212,8 +212,8 @@ browser.storage.onChanged.addListener((changes) => {
if ("disableOsm" in changes) {
disableOsm = changes.disableOsm.newValue;
}
- if ("disableRedditVersion" in changes) {
- disableRedditVersion = changes.disableRedditVersion.newValue;
+ if ("disableOldReddit" in changes) {
+ disableOldReddit = changes.disableOldReddit.newValue;
}
if ("alwaysProxy" in changes) {
alwaysProxy = changes.alwaysProxy.newValue;
@@ -498,23 +498,18 @@ function redirectGoogleMaps(url, initiator) {
}
function redirectReddit(url, initiator, type) {
- if (disableRedditVersion || isException(url, initiator)) {
+ if (disableOldReddit || isException(url, initiator)) {
return null;
}
- // Do not redirect old or mobile Reddit versions on normal Reddit links
- if (
- initiator &&
- (initiator.origin === redditVersion ||
- redditVersions.includes(initiator.origin) ||
- redditVersions.includes(initiator.host))
- ) {
+ // Do not redirect when already on the selected view
+ if (initiator && initiator.origin === oldRedditView || url.origin === oldRedditView) {
return null;
}
// Do not redirect anything other than main_frame
if (type !== "main_frame" || url.pathname.match(redditBypassPaths)) {
return null;
}
- return `${redditVersion}${url.pathname}${url.search}`;
+ return `${oldRedditView}${url.pathname}${url.search}`;
}
browser.webRequest.onBeforeRequest.addListener(
@@ -543,7 +538,7 @@ browser.webRequest.onBeforeRequest.addListener(
redirect = {
redirectUrl: redirectGoogleMaps(url, initiator),
};
- } else if (redditDomains.includes(url.host)) {
+ } else if (redditDomains.includes(url.host) || oldRedditViews.includes(url.origin)) {
redirect = {
redirectUrl: redirectReddit(url, initiator, details.type),
}
diff --git a/pages/options/options.html b/pages/options/options.html
index 9664151..bf9d5cd 100644
--- a/pages/options/options.html
+++ b/pages/options/options.html
@@ -121,22 +121,22 @@
</table>
</section>
<section class="settings-block">
- <table class="option" aria-label="Toggle Reddit version redirects">
+ <table class="option" aria-label="Toggle old Reddit redirects">
<tbody>
<tr>
<td>
- <h1 data-localise="__MSG_disableRedditVersion__">
- Reddit Version Redirects
+ <h1 data-localise="__MSG_disableOldReddit__">
+ Old Reddit Redirects
</h1>
</td>
<td>
<input
aria-hidden="true"
- id="disable-reddit-version"
+ id="disable-old-reddit"
type="checkbox"
checked
/>&nbsp;
- <label for="disable-reddit-version" class="checkbox-label"> </label>
+ <label for="disable-old-reddit" class="checkbox-label"> </label>
</td>
</tr>
</tbody>
@@ -184,10 +184,10 @@
</div>
</section>
<section class="settings-block">
- <h1 data-localise="__MSG_redditVersion__">Reddit Version</h1>
+ <h1 data-localise="__MSG_oldRedditView__">Old Reddit View (Desktop or Mobile)</h1>
<div class="autocomplete">
<input
- id="reddit-version"
+ id="old-reddit-view"
type="url"
placeholder="https://old.reddit.com"
/>
diff --git a/pages/options/options.js b/pages/options/options.js
index ff08fa4..6513358 100644
--- a/pages/options/options.js
+++ b/pages/options/options.js
@@ -45,28 +45,28 @@ const bibliogramInstances = [
"https://bibliogram.ggc-project.de",
];
const osmInstances = ["https://openstreetmap.org"];
-const redditVersions = [
- "https://old.reddit.com",
- "https://i.reddit.com"
+const oldRedditViews = [
+ "https://old.reddit.com", // desktop
+ "https://i.reddit.com" // mobile
];
const autocompletes = [
{ id: "nitter-instance", instances: nitterInstances },
{ id: "invidious-instance", instances: invidiousInstances },
{ id: "bibliogram-instance", instances: bibliogramInstances },
{ id: "osm-instance", instances: osmInstances },
- { id: "reddit-version", instances: redditVersions },
+ { id: "old-reddit-view", instances: oldRedditViews },
];
let nitterInstance = document.getElementById("nitter-instance");
let invidiousInstance = document.getElementById("invidious-instance");
let bibliogramInstance = document.getElementById("bibliogram-instance");
let osmInstance = document.getElementById("osm-instance");
-let redditVersion = document.getElementById("reddit-version");
+let oldRedditView = document.getElementById("old-reddit-view");
let disableNitter = document.getElementById("disable-nitter");
let disableInvidious = document.getElementById("disable-invidious");
let disableBibliogram = document.getElementById("disable-bibliogram");
let disableOsm = document.getElementById("disable-osm");
-let disableRedditVersion = document.getElementById("disable-reddit-version");
+let disableOldReddit = document.getElementById("disable-old-reddit");
let alwaysProxy = document.getElementById("always-proxy");
let onlyEmbeddedVideo = document.getElementById("only-embed");
let videoQuality = document.getElementById("video-quality");
@@ -110,12 +110,12 @@ browser.storage.sync.get(
"invidiousInstance",
"bibliogramInstance",
"osmInstance",
- "redditVersion",
+ "oldRedditView",
"disableNitter",
"disableInvidious",
"disableBibliogram",
"disableOsm",
- "disableRedditVersion",
+ "disableOldReddit",
"alwaysProxy",
"onlyEmbeddedVideo",
"videoQuality",
@@ -136,12 +136,12 @@ browser.storage.sync.get(
invidiousInstance.value = result.invidiousInstance || "";
bibliogramInstance.value = result.bibliogramInstance || "";
osmInstance.value = result.osmInstance || "";
- redditVersion.value = result.redditVersion || "";
+ oldRedditView.value = result.oldRedditView || "";
disableNitter.checked = !result.disableNitter;
disableInvidious.checked = !result.disableInvidious;
disableBibliogram.checked = !result.disableBibliogram;
disableOsm.checked = !result.disableOsm;
- disableRedditVersion.checked = !result.disableRedditVersion;
+ disableOldReddit.checked = !result.disableOldReddit;
alwaysProxy.checked = result.alwaysProxy;
onlyEmbeddedVideo.checked = result.onlyEmbeddedVideo;
videoQuality.value = result.videoQuality || "";
@@ -284,14 +284,14 @@ let osmInstanceChange = debounce(() => {
}, 500);
osmInstance.addEventListener("input", osmInstanceChange);
-let redditVersionChange = debounce(() => {
- if (redditVersion.checkValidity()) {
+let oldRedditViewChange = debounce(() => {
+ if (oldRedditView.checkValidity()) {
browser.storage.sync.set({
- redditVersion: parseURL(redditVersion.value),
+ oldRedditView: parseURL(oldRedditView.value),
});
}
}, 500);
-redditVersion.addEventListener("input", redditVersionChange);
+oldRedditView.addEventListener("input", oldRedditViewChange);
disableNitter.addEventListener("change", (event) => {
browser.storage.sync.set({ disableNitter: !event.target.checked });
@@ -309,8 +309,8 @@ disableOsm.addEventListener("change", (event) => {
browser.storage.sync.set({ disableOsm: !event.target.checked });
});
-disableRedditVersion.addEventListener("change", (event) => {
- browser.storage.sync.set({ disableRedditVersion: !event.target.checked });
+disableOldReddit.addEventListener("change", (event) => {
+ browser.storage.sync.set({ disableOldReddit: !event.target.checked });
});
alwaysProxy.addEventListener("change", (event) => {
diff --git a/pages/popup/popup.html b/pages/popup/popup.html
index 871e2c6..faf0deb 100644
--- a/pages/popup/popup.html
+++ b/pages/popup/popup.html
@@ -117,22 +117,22 @@
</section>
<section class="settings-block">
- <table class="option" aria-label="Toggle Reddit version redirects">
+ <table class="option" aria-label="Toggle old Reddit redirects">
<tbody>
<tr>
<td>
- <h1 data-localise="__MSG_disableRedditVersion__">
- Reddit Version Redirects
+ <h1 data-localise="__MSG_disableOldReddit__">
+ Old Reddit Redirects
</h1>
</td>
<td>
<input
aria-hidden="true"
- id="disable-reddit-version"
+ id="disable-old-reddit"
type="checkbox"
checked
/>&nbsp;
- <label for="disable-reddit-version" class="checkbox-label"> </label>
+ <label for="disable-old-reddit" class="checkbox-label"> </label>
</td>
</tr>
</tbody>
diff --git a/pages/popup/popup.js b/pages/popup/popup.js
index 4ea627c..3425370 100644
--- a/pages/popup/popup.js
+++ b/pages/popup/popup.js
@@ -4,7 +4,7 @@ let disableNitter = document.querySelector("#disable-nitter");
let disableInvidious = document.querySelector("#disable-invidious");
let disableBibliogram = document.querySelector("#disable-bibliogram");
let disableOsm = document.querySelector("#disable-osm");
-let disableRedditVersion = document.querySelector("#disable-reddit-version");
+let disableOldReddit = document.querySelector("#disable-old-reddit");
let version = document.querySelector("#version");
window.browser = window.browser || window.chrome;
@@ -15,7 +15,7 @@ browser.storage.sync.get(
"disableInvidious",
"disableBibliogram",
"disableOsm",
- "disableRedditVersion",
+ "disableOldReddit",
"theme",
],
(result) => {
@@ -24,7 +24,7 @@ browser.storage.sync.get(
disableInvidious.checked = !result.disableInvidious;
disableBibliogram.checked = !result.disableBibliogram;
disableOsm.checked = !result.disableOsm;
- disableRedditVersion.checked = !result.disableRedditVersion;
+ disableOldReddit.checked = !result.disableOldReddit;
}
);
@@ -46,8 +46,8 @@ disableOsm.addEventListener("change", (event) => {
browser.storage.sync.set({ disableOsm: !event.target.checked });
});
-disableRedditVersion.addEventListener("change", (event) => {
- browser.storage.sync.set({ disableRedditVersion: !event.target.checked });
+disableOldReddit.addEventListener("change", (event) => {
+ browser.storage.sync.set({ disableOldReddit: !event.target.checked });
});
document.querySelector("#more-options").addEventListener("click", () => {