Merge 492eab04e3d95d1694d08b956ad62102f9fb7e67 into 59bb97cdc3011b37cbcd9e85f2f708f009978893

This commit is contained in:
Cameron Radmore 2026-07-24 12:21:07 -05:00 committed by GitHub
commit 57af78e751
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 15 additions and 1 deletions

View File

@ -335,6 +335,18 @@ module Invidious::Routes::Channels
"posts", "posts",
} }
def self.potential_brand_redirect(env)
# Check for known tab in url before trying to brand_redirect (avoids unneeded request to YouTube)
selected_tab = env.params.url["tab"]?.try &.downcase
if KNOWN_TABS.includes? selected_tab
brand_redirect(env)
else
Invidious::Routes::Misc.home(env)
end
end
# Redirects brand url channels to a normal /channel/:ucid route # Redirects brand url channels to a normal /channel/:ucid route
def self.brand_redirect(env) def self.brand_redirect(env)
locale = env.get("preferences").as(Preferences).locale locale = env.get("preferences").as(Preferences).locale
@ -357,7 +369,7 @@ module Invidious::Routes::Channels
return error_template(404, I18n.translate(locale, "This channel does not exist.")) return error_template(404, I18n.translate(locale, "This channel does not exist."))
end end
selected_tab = env.params.url["tab"]? selected_tab = env.params.url["tab"]?.try &.downcase
if KNOWN_TABS.includes? selected_tab if KNOWN_TABS.includes? selected_tab
url = "/channel/#{ucid}/#{selected_tab}" url = "/channel/#{ucid}/#{selected_tab}"

View File

@ -47,6 +47,8 @@ module Invidious::Routing
self.register_api_manifest_routes self.register_api_manifest_routes
self.register_video_playback_routes self.register_video_playback_routes
self.register_companion_routes self.register_companion_routes
get "/:user/:tab", Routes::Channels, :potential_brand_redirect
end end
# ------------------- # -------------------