myYouTube/backend/app
vrubelroman b29bcfb8d7 Hide unsubscribed channels from the channels list, add a Saved tab
- GET /api/channels called with subscribed=true from the Channels page, so
  a channel disappears from the list as soon as it's unsubscribed instead
  of lingering with a badge
- GET /api/feed gains a `downloaded` filter (this was already anticipated
  in the original TZ's feed query params but left unimplemented until
  download_jobs existed) -- matches on each video's *latest* job only, so
  a redownload/delete history doesn't leave stale matches
- New /saved route: same category filtering, video grid and download
  actions as the main feed, scoped to downloaded videos only

2 new backend tests (76 total).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-16 20:23:33 +00:00
..
api Hide unsubscribed channels from the channels list, add a Saved tab 2026-09-16 20:23:33 +00:00
core Implement Phases 1-5: skeleton, OAuth, categories, video sync/feed, playback 2026-09-16 18:44:30 +00:00
models Add delete-downloaded-video and real YouTube unsubscribe 2026-09-16 19:47:35 +00:00
services Fix delete not finding the download: wrong id sent to MeTube's /delete 2026-09-16 20:14:43 +00:00
__init__.py Implement Phases 1-5: skeleton, OAuth, categories, video sync/feed, playback 2026-09-16 18:44:30 +00:00
config.py Implement Phases 1-5: skeleton, OAuth, categories, video sync/feed, playback 2026-09-16 18:44:30 +00:00
db.py Implement Phases 1-5: skeleton, OAuth, categories, video sync/feed, playback 2026-09-16 18:44:30 +00:00
main.py Implement Phase 6: MeTube download integration 2026-09-16 18:56:17 +00:00