about summary refs log tree commit diff stats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/assets/javascripts/services.js21
-rw-r--r--src/manifest.json2
2 files changed, 13 insertions, 10 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index 6e2eca13..f3fcfa0d 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -59,16 +59,16 @@ function redirect(url, type, initiator, forceRedirection) {
 			continue
 		}
 
+		let instanceList = options[frontend]
+		if (instanceList === undefined) break
+		if (instanceList.length === 0) return
+
 		if (
 			initiator
 			&&
-			options[frontend].includes(initiator.origin)
+			instanceList.includes(initiator.origin)
 		) return "BYPASSTAB"
 
-		let instanceList = options[frontend]
-		if (instanceList === undefined) break
-		if (instanceList.length === 0) return
-
 		randomInstance = utils.getRandomInstance(instanceList)
 
 		break
@@ -367,7 +367,7 @@ function redirect(url, type, initiator, forceRedirection) {
 			if (url.hostname.match(/^[a-zA-Z0-9-]+\.(?:fandom|wikia)\.com/)) {
 				wiki = url.hostname.match(/^[a-zA-Z0-9-]+(?=\.(?:fandom|wikia)\.com)/)
 				if (wiki == "www" || !wiki) wiki = ""
-				else wiki = `/${wiki}`;
+				else wiki = `/${wiki}`
 				urlpath = url.pathname
 			} else {
 				wiki = url.pathname.match(/(?<=wiki\/w:c:)[a-zA-Z0-9-]+(?=:)/)
@@ -406,20 +406,23 @@ function redirect(url, type, initiator, forceRedirection) {
 		case "neuters": {
 			const p = url.pathname
 			if (p.startsWith('/article/') || p.startsWith('/pf/') || p.startsWith('/arc/') || p.startsWith('/resizer/')) {
-				return null;
+				return null
 			}
-			return `${randomInstance}${p}`;
+			return `${randomInstance}${p}`
 		}
 		case "dumb": {
 			if (url.pathname.endsWith('-lyrics')) return `${randomInstance}${url.pathname}`
 		}
 		case "ruralDictionary": {
-			if (!url.pathname.endsWith('/define.php') && !url.pathname.endsWith('/random.php') && url.pathname != '/') return
+			if (!url.pathname.includes('/define.php') && !url.pathname.includes('/random.php') && url.pathname != '/') return
 			return `${randomInstance}${url.pathname}${url.search}`
 		}
 		case "anonymousOverflow": {
 			if (!url.pathname.startsWith('/questions') && url.pathname != '/') return
+			const threadID = /\/(\d+)\/?$/.exec(url.pathname)
+			if (threadID) return `${randomInstance}/questions/${threadID[1]}${url.search}`
 			return `${randomInstance}${url.pathname}${url.search}`
+
 		}
 		case "biblioReads": {
 			if (!url.pathname.startsWith('/book/show/') && url.pathname != '/') return
diff --git a/src/manifest.json b/src/manifest.json
index 4ca1d051..2b51953c 100644
--- a/src/manifest.json
+++ b/src/manifest.json
@@ -1,7 +1,7 @@
 {
 	"name": "__MSG_extensionName__",
 	"description": "__MSG_extensionDescription__",
-	"version": "2.5.1",
+	"version": "2.5.2",
 	"manifest_version": 2,
 	"browser_specific_settings": {
 		"gecko": {