summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/invidious.cr4
-rw-r--r--src/invidious/comments.cr4
2 files changed, 5 insertions, 3 deletions
diff --git a/src/invidious.cr b/src/invidious.cr
index 78cbd454..5220b387 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -1917,8 +1917,12 @@ get "/api/v1/comments/:id" do |env|
if url
url = URI.parse(url)
+ if {"m.youtube.com", "www.youtube.com", "youtu.be"}.includes? url.host
if url.path == "/redirect"
url = HTTP::Params.parse(url.query.not_nil!)["q"]
+ else
+ url = url.full_path
+ end
end
else
url = run["navigationEndpoint"]["commandMetadata"]?.try &.["webCommandMetadata"]["url"].as_s
diff --git a/src/invidious/comments.cr b/src/invidious/comments.cr
index c135497e..70746499 100644
--- a/src/invidious/comments.cr
+++ b/src/invidious/comments.cr
@@ -196,15 +196,13 @@ def replace_links(html)
html.xpath_nodes(%q(//a)).each do |anchor|
url = URI.parse(anchor["href"])
- if ["www.youtube.com", "m.youtube.com"].includes?(url.host)
+ if {"www.youtube.com", "m.youtube.com", "youtu.be"}.includes?(url.host)
if url.path == "/redirect"
params = HTTP::Params.parse(url.query.not_nil!)
anchor["href"] = params["q"]?
else
anchor["href"] = url.full_path
end
- elsif url.host == "youtu.be"
- anchor["href"] = "/watch?v=#{url.path.try &.lchop("/")}&#{url.query}"
elsif url.to_s == "#"
begin
length_seconds = decode_length_seconds(anchor.content)