Skip to content

Commit 58ad848

Browse files
committed
Channels: Support YouTube's change to from /community to /posts (#5183)
2 parents f9b9e85 + d706815 commit 58ad848

File tree

5 files changed

+9
-3
lines changed

5 files changed

+9
-3
lines changed

locales/en-US.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -496,6 +496,7 @@
496496
"channel_tab_courses_label": "Courses",
497497
"channel_tab_playlists_label": "Playlists",
498498
"channel_tab_community_label": "Community",
499+
"channel_tab_posts_label": "Posts",
499500
"channel_tab_channels_label": "Channels",
500501
"toggle_theme": "Toggle Theme",
501502
"carousel_slide": "Slide {{current}} of {{total}}",

src/invidious/frontend/channel_page.cr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ module Invidious::Frontend::ChannelPage
99
Releases
1010
Courses
1111
Playlists
12-
Community
12+
Posts
1313
Channels
1414
end
1515

src/invidious/routes/channels.cr

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,8 @@ module Invidious::Routes::Channels
218218
end
219219

220220
def self.community(env)
221+
return env.redirect env.request.path.sub("posts", "community") if env.request.path.split("/").last == "posts"
222+
221223
data = self.fetch_basic_information(env)
222224
if !data.is_a?(Tuple)
223225
return data
@@ -234,7 +236,7 @@ module Invidious::Routes::Channels
234236

235237
continuation = env.params.query["continuation"]?
236238

237-
if !channel.tabs.includes? "community"
239+
if !channel.tabs.includes? "community" && "posts"
238240
return env.redirect "/channel/#{channel.ucid}"
239241
end
240242

@@ -328,6 +330,7 @@ module Invidious::Routes::Channels
328330
private KNOWN_TABS = {
329331
"home", "videos", "shorts", "streams", "podcasts",
330332
"releases", "courses", "playlists", "community", "channels", "about",
333+
"posts",
331334
}
332335

333336
# Redirects brand url channels to a normal /channel/:ucid route

src/invidious/routing.cr

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ module Invidious::Routing
123123
get "/channel/:ucid/courses", Routes::Channels, :courses
124124
get "/channel/:ucid/playlists", Routes::Channels, :playlists
125125
get "/channel/:ucid/community", Routes::Channels, :community
126+
get "/channel/:ucid/posts", Routes::Channels, :community
126127
get "/channel/:ucid/channels", Routes::Channels, :channels
127128
get "/channel/:ucid/about", Routes::Channels, :about
128129

@@ -254,6 +255,7 @@ module Invidious::Routing
254255
get "/api/v1/channels/:ucid/courses", {{namespace}}::Channels, :courses
255256
get "/api/v1/channels/:ucid/playlists", {{namespace}}::Channels, :playlists
256257
get "/api/v1/channels/:ucid/community", {{namespace}}::Channels, :community
258+
get "/api/v1/channels/:ucid/posts", {{namespace}}::Channels, :community
257259
get "/api/v1/channels/:ucid/channels", {{namespace}}::Channels, :channels
258260
get "/api/v1/channels/:ucid/search", {{namespace}}::Channels, :search
259261

src/invidious/views/community.ecr

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
youtube_url = "https://www.youtube.com#{relative_url}"
88
redirect_url = Invidious::Frontend::Misc.redirect_url(env)
99
10-
selected_tab = Invidious::Frontend::ChannelPage::TabsAvailable::Community
10+
selected_tab = Invidious::Frontend::ChannelPage::TabsAvailable::Posts
1111
-%>
1212

1313
<% content_for "header" do %>

0 commit comments

Comments
 (0)