Skip to content
Permalink
Browse files

Fix link redirect for YouTube comments

  • Loading branch information...
omarroth committed Sep 9, 2018
1 parent 133b72f commit 1c8bd671d8a8efe54ce38750b600c8d606185991
Showing with 5 additions and 3 deletions.
  1. +4 −0 src/invidious.cr
  2. +1 −3 src/invidious/comments.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
@@ -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)

0 comments on commit 1c8bd67

Please sign in to comment.
You can’t perform that action at this time.