@@ -574,31 +574,35 @@ def content_to_comment_html(content)
574574 if run[" navigationEndpoint" ]?
575575 if url = run[" navigationEndpoint" ][" urlEndpoint" ]?.try & .[" url" ].as_s
576576 url = URI .parse(url)
577+ displayed_url = url
577578
578579 if url.host == " youtu.be"
579580 url = " /watch?v=#{ url.request_target.lstrip('/' ) } "
581+ displayed_url = " youtube.com#{ url } "
580582 elsif url.host.nil? || url.host.not_nil!.ends_with?(" youtube.com" )
581583 if url.path == " /redirect"
582584 # Sometimes, links can be corrupted (why?) so make sure to fallback
583585 # nicely. See https://github.com/iv-org/invidious/issues/2682
584586 url = HTTP ::Params .parse(url.query.not_nil!)[" q" ]? || " "
587+ displayed_url = url
585588 else
586589 url = url.request_target
590+ displayed_url = " youtube.com#{ url } "
587591 end
588592 end
589593
590- text = %( <a href="#{ url } ">#{ text } </a>)
594+ text = %( <a href="#{ url } ">#{ reduce_uri(displayed_url) } </a>)
591595 elsif watch_endpoint = run[" navigationEndpoint" ][" watchEndpoint" ]?
592596 length_seconds = watch_endpoint[" startTimeSeconds" ]?
593597 video_id = watch_endpoint[" videoId" ].as_s
594598
595599 if length_seconds && length_seconds.as_i > 0
596600 text = %( <a href="javascript:void(0)" data-onclick="jump_to_time" data-jump-time="#{ length_seconds } ">#{ text } </a>)
597601 else
598- text = %( <a href="/watch?v=#{ video_id } ">#{ text } </a>)
602+ text = %( <a href="/watch?v=#{ video_id } ">#{ " youtube.com/watch?v= #{ video_id } " } </a>)
599603 end
600604 elsif url = run.dig?(" navigationEndpoint" , " commandMetadata" , " webCommandMetadata" , " url" ).try & .as_s
601- text = %( <a href="#{ url } ">#{ text } </a>)
605+ text = %( <a href="#{ url } ">#{ reduce_uri(url) } </a>)
602606 end
603607 end
604608
0 commit comments