diff --git a/src/modules/processing/servicesConfig.json b/src/modules/processing/servicesConfig.json index 06698757..e85b9070 100644 --- a/src/modules/processing/servicesConfig.json +++ b/src/modules/processing/servicesConfig.json @@ -15,7 +15,7 @@ "alias": "twitter videos & voice", "altDomains": ["x.com", "vxtwitter.com", "fixvx.com"], "subdomains": ["mobile"], - "patterns": [":user/status/:id", ":user/status/:id/video/:v", ":user/status/:id/mediaViewer"], + "patterns": [":user/status/:id", ":user/status/:id/video/:v"], "enabled": true }, "vk": { diff --git a/src/modules/processing/url.js b/src/modules/processing/url.js index 2f1ac87f..6d4ac2f8 100644 --- a/src/modules/processing/url.js +++ b/src/modules/processing/url.js @@ -34,6 +34,12 @@ export function aliasURL(url) { } break; + case "twitter": + if (url.pathname.toLowerCase().endsWith('/mediaviewer')) { + url = new URL(`https://twitter.com/${parts[1]}/${parts[2]}/${parts[3]}`); + } + break; + case "twitch": if (url.hostname === 'clips.twitch.tv' && parts.length >= 2) { url = new URL(`https://twitch.tv/_/clip/${parts[1]}`); diff --git a/src/test/tests.json b/src/test/tests.json index c224f5e4..f3e34dde 100644 --- a/src/test/tests.json +++ b/src/test/tests.json @@ -11,6 +11,14 @@ "code": 200, "status": "redirect" } + }, { + "name": "video with mobile web mediaviewer", + "url": "https://twitter.com/XSpaces/status/1526955853743546372/mediaViewer?currentTweet=1526955853743546372¤tTweetUser=XSpaces¤tTweet=1526955853743546372¤tTweetUser=XSpaces", + "params": {}, + "expected": { + "code": 200, + "status": "redirect" + } }, { "name": "embedded twitter video", "url": "https://twitter.com/dustbin_nie/status/1624596567188717568?s=20",