feat(channels): surface full-history pull + honest stored/total count on the channel page (S3)

The catalog only stores the recent-backfill/RSS subset of a channel's uploads (video_count is
YouTube's raw total), so a subscribed channel looked like it was "missing" videos. Now the channel
page header shows "{stored} / {total} videos" when there's a gap, and a "Full history" action queues
the deep backfill (the same deep_requested trigger the channel manager uses) — showing a loading
state until done. Backend: channel_detail now returns deep_requested/backfill_done.
This commit is contained in:
2026-07-28 02:22:36 +02:00
parent ae14aa1c6a
commit eb922cb589
5 changed files with 80 additions and 8 deletions
+6 -1
View File
@@ -10,6 +10,7 @@
"subscribers": "{{formatted}} subscribers",
"videoCount_one": "{{count}} video",
"videoCount_other": "{{count}} videos",
"videoCountStored": "{{stored}} / {{total}} videos",
"totalViews": "{{formatted}} views",
"joined": "Joined {{date}}",
"loadingVideos": "Loading this channel's videos…",
@@ -24,5 +25,9 @@
"language": "Language",
"topics": "Topics",
"keywords": "Keywords",
"showInFeed": "Show in my feed"
"showInFeed": "Show in my feed",
"fullHistory": "Full history",
"fullHistoryLoading": "Fetching history…",
"fullHistoryQueued": "Fetching this channel's full history — new videos will appear as they're found.",
"fullHistoryFailed": "Couldn't start the full-history fetch."
}
+6 -1
View File
@@ -10,6 +10,7 @@
"subscribers": "{{formatted}} feliratkozó",
"videoCount_one": "{{count}} videó",
"videoCount_other": "{{count}} videó",
"videoCountStored": "{{stored}} / {{total}} videó",
"totalViews": "{{formatted}} megtekintés",
"joined": "Csatlakozott: {{date}}",
"loadingVideos": "A csatorna videóinak betöltése…",
@@ -24,5 +25,9 @@
"language": "Nyelv",
"topics": "Témák",
"keywords": "Kulcsszavak",
"showInFeed": "Mutasd a hírfolyamomban"
"showInFeed": "Mutasd a hírfolyamomban",
"fullHistory": "Teljes előzmény",
"fullHistoryLoading": "Előzmény letöltése…",
"fullHistoryQueued": "A csatorna teljes előzményének letöltése elindult — az új videók feltűnnek, ahogy előkerülnek.",
"fullHistoryFailed": "Nem sikerült elindítani a teljes előzmény letöltését."
}