about summary refs log tree commit diff stats
path: root/src/assets/javascripts/services.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/assets/javascripts/services.js')
-rw-r--r--src/assets/javascripts/services.js14
1 files changed, 13 insertions, 1 deletions
diff --git a/src/assets/javascripts/services.js b/src/assets/javascripts/services.js
index eeb69a72..eb2a665e 100644
--- a/src/assets/javascripts/services.js
+++ b/src/assets/javascripts/services.js
@@ -155,7 +155,19 @@ function redirect(url, type, initiator, forceRedirection) {
 		case "freetube": {
 			return `freetube://https://youtu.be${url.pathname}${url.search}`.replace(/watch\?v=/, "")
 		}
+		case "invidious":
+		case "piped":
+		case "pipedMaterial":
+		case "cloudtube": {
+			if (url.pathname.startsWith("/live_chat")) {
+				return null;
+			}
+			return `${randomInstance}${url.pathname}${url.search}`;
+		}
 		case "poketube": {
+			if (url.pathname.startsWith("/live_chat")) {
+				return null;
+			}
 			if (url.pathname.startsWith('/channel')) {
 				const reg = /\/channel\/(.*)\/?$/.exec(url.pathname)
 				if (reg) {
@@ -475,7 +487,7 @@ function redirect(url, type, initiator, forceRedirection) {
 				// wikiless doesn't have mobile view support yet
 			}
 			for (let i = 0; i < GETArguments.length; i++) link += (i == 0 ? "?" : "&") + GETArguments[i][0] + "=" + GETArguments[i][1]
-			return link
+			return link + url.hash
 		}
 		case "proxiTok": {
 			if (url.pathname.startsWith('/email')) return