From ba88959f5e9b844f014edaa8dfa3eb833872a2a2 Mon Sep 17 00:00:00 2001 From: Cameron Radmore Date: Sun, 19 Jul 2026 17:31:35 -0400 Subject: [PATCH] feat: add support for additional channel urls (:user/:tab) --- src/invidious/routes/channels.cr | 12 ++++++++++++ src/invidious/routing.cr | 2 ++ 2 files changed, 14 insertions(+) diff --git a/src/invidious/routes/channels.cr b/src/invidious/routes/channels.cr index 0477802a..23eeeeb8 100644 --- a/src/invidious/routes/channels.cr +++ b/src/invidious/routes/channels.cr @@ -335,6 +335,18 @@ module Invidious::Routes::Channels "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"]? + + 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 def self.brand_redirect(env) locale = env.get("preferences").as(Preferences).locale diff --git a/src/invidious/routing.cr b/src/invidious/routing.cr index 12bf5459..3b1fedf1 100644 --- a/src/invidious/routing.cr +++ b/src/invidious/routing.cr @@ -40,6 +40,8 @@ module Invidious::Routing if CONFIG.enable_user_notifications get "/modify_notifications", Routes::Notifications, :modify end + + get "/:user/:tab", Routes::Channels, :potential_brand_redirect {% end %} self.register_image_routes