From 7fa07f6b656e20e539688c31839fe1486c3bd331 Mon Sep 17 00:00:00 2001 From: Emilien Devos <4016501+unixfox@users.noreply.github.com> Date: Tue, 10 Oct 2023 23:31:22 +0200 Subject: [PATCH] remove PR test 4099 --- patches/012-4099.patch | 132 ----------------------------------------- 1 file changed, 132 deletions(-) delete mode 100644 patches/012-4099.patch diff --git a/patches/012-4099.patch b/patches/012-4099.patch deleted file mode 100644 index 2a84999..0000000 --- a/patches/012-4099.patch +++ /dev/null @@ -1,132 +0,0 @@ -From 49b9316b9f2e9ccc6921a2f293abacb37f9805f6 Mon Sep 17 00:00:00 2001 -From: Samantaz Fox -Date: Wed, 13 Sep 2023 23:40:20 +0200 -Subject: [PATCH 1/2] Routing: Handle current and future routes more nicely - ---- - src/invidious/routes/channels.cr | 19 +++++++++++++---- - src/invidious/routing.cr | 36 +++++++++++++++++++++----------- - 2 files changed, 39 insertions(+), 16 deletions(-) - -diff --git a/src/invidious/routes/channels.cr b/src/invidious/routes/channels.cr -index 9892ae2a..5500672f 100644 ---- a/src/invidious/routes/channels.cr -+++ b/src/invidious/routes/channels.cr -@@ -217,6 +217,11 @@ module Invidious::Routes::Channels - env.redirect "/channel/#{ucid}" - end - -+ private KNOWN_TABS = { -+ "home", "videos", "shorts", "streams", "podcasts", -+ "releases", "playlists", "community", "channels", "about", -+ } -+ - # Redirects brand url channels to a normal /channel/:ucid route - def self.brand_redirect(env) - locale = env.get("preferences").as(Preferences).locale -@@ -227,7 +232,10 @@ module Invidious::Routes::Channels - yt_url_params = URI::Params.encode(env.params.query.to_h.select(["a", "u", "user"])) - - # Retrieves URL params that only Invidious uses -- invidious_url_params = URI::Params.encode(env.params.query.to_h.select!(["a", "u", "user"])) -+ invidious_url_params = env.params.query.dup -+ invidious_url_params.delete_all("a") -+ invidious_url_params.delete_all("u") -+ invidious_url_params.delete_all("user") - - begin - resolved_url = YoutubeAPI.resolve_url("https://youtube.com#{env.request.path}#{yt_url_params.size > 0 ? "?#{yt_url_params}" : ""}") -@@ -236,14 +244,17 @@ module Invidious::Routes::Channels - return error_template(404, translate(locale, "This channel does not exist.")) - end - -- selected_tab = env.request.path.split("/")[-1] -- if {"home", "videos", "shorts", "streams", "playlists", "community", "channels", "about"}.includes? selected_tab -+ selected_tab = env.params.url["tab"]? -+ -+ if KNOWN_TABS.includes? selected_tab - url = "/channel/#{ucid}/#{selected_tab}" - else - url = "/channel/#{ucid}" - end - -- env.redirect url -+ url += "?#{invidious_url_params}" if !invidious_url_params.empty? -+ -+ return env.redirect url - end - - # Handles redirects for the /profile endpoint -diff --git a/src/invidious/routing.cr b/src/invidious/routing.cr -index 9c43171c..5ec7fae3 100644 ---- a/src/invidious/routing.cr -+++ b/src/invidious/routing.cr -@@ -124,22 +124,34 @@ module Invidious::Routing - get "/channel/:ucid/community", Routes::Channels, :community - get "/channel/:ucid/channels", Routes::Channels, :channels - get "/channel/:ucid/about", Routes::Channels, :about -+ - get "/channel/:ucid/live", Routes::Channels, :live - get "/user/:user/live", Routes::Channels, :live - get "/c/:user/live", Routes::Channels, :live - -- {"", "/videos", "/shorts", "/streams", "/playlists", "/community", "/about"}.each do |path| -- # /c/LinusTechTips -- get "/c/:user#{path}", Routes::Channels, :brand_redirect -- # /user/linustechtips | Not always the same as /c/ -- get "/user/:user#{path}", Routes::Channels, :brand_redirect -- # /@LinusTechTips | Handle -- get "/@:user#{path}", Routes::Channels, :brand_redirect -- # /attribution_link?a=anything&u=/channel/UCZYTClx2T1of7BRZ86-8fow -- get "/attribution_link#{path}", Routes::Channels, :brand_redirect -- # /profile?user=linustechtips -- get "/profile/#{path}", Routes::Channels, :profile -- end -+ # Channel catch-all, to redirect future routes to the channel's home -+ # NOTE: defined last in order to be processed after the other routes -+ get "/channel/:ucid/*", Routes::Channels, :home -+ -+ # /c/LinusTechTips -+ get "/c/:user", Routes::Channels, :brand_redirect -+ get "/c/:user/:tab", Routes::Channels, :brand_redirect -+ -+ # /user/linustechtips (Not always the same as /c/) -+ get "/user/:user", Routes::Channels, :brand_redirect -+ get "/user/:user/:tab", Routes::Channels, :brand_redirect -+ -+ # /@LinusTechTips (Handle) -+ get "/@:user", Routes::Channels, :brand_redirect -+ get "/@:user/:tab", Routes::Channels, :brand_redirect -+ -+ # /attribution_link?a=anything&u=/channel/UCZYTClx2T1of7BRZ86-8fow -+ get "/attribution_link", Routes::Channels, :brand_redirect -+ get "/attribution_link/:tab", Routes::Channels, :brand_redirect -+ -+ # /profile?user=linustechtips -+ get "/profile", Routes::Channels, :profile -+ get "/profile/*", Routes::Channels, :profile - end - - def register_watch_routes - -From 2425c47882feaa56a69f6ba842cf1cb9d5b450e0 Mon Sep 17 00:00:00 2001 -From: Samantaz Fox -Date: Wed, 13 Sep 2023 23:41:31 +0200 -Subject: [PATCH 2/2] Routing: Add support for the '/live/' route - ---- - src/invidious/routing.cr | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/src/invidious/routing.cr b/src/invidious/routing.cr -index 5ec7fae3..f6b3aaa6 100644 ---- a/src/invidious/routing.cr -+++ b/src/invidious/routing.cr -@@ -158,6 +158,7 @@ module Invidious::Routing - get "/watch", Routes::Watch, :handle - post "/watch_ajax", Routes::Watch, :mark_watched - get "/watch/:id", Routes::Watch, :redirect -+ get "/live/:id", Routes::Watch, :redirect - get "/shorts/:id", Routes::Watch, :redirect - get "/clip/:clip", Routes::Watch, :clip - get "/w/:id", Routes::Watch, :redirect