Commit Graph

  • 74e9a52096 Fix Following page: replace 9-subquery-per-channel stats with 2 CTEs + indexes Mattias Tall 2026-05-26 16:04:41 +02:00
  • 1cd8645957 Fix YouTube hammering, sync rate limiting, and Following load time Mattias Tall 2026-05-26 16:00:37 +02:00
  • 0d6dd94029 VideoCard: redesigned list view, removed grid descriptions, smaller mobile fonts Mattias Tall 2026-05-26 15:59:15 +02:00
  • cb05b739a8 Mobile UX: fixed bottom nav, compact header, less cramped cards Mattias Tall 2026-05-26 12:30:23 +02:00
  • 3e63281849 Fix channel avatars missing from all home-feed SQL modes Mattias Tall 2026-05-26 12:22:21 +02:00
  • b3c288a590 Fix channel avatar: include channel_thumbnail_url in video response Mattias Tall 2026-05-26 12:16:43 +02:00
  • aaa9d0145e Fix description text clipping in video cards Mattias Tall 2026-05-26 12:03:56 +02:00
  • f5a35cd1f2 Add view count and description snippet to grid video cards Mattias Tall 2026-05-26 12:02:50 +02:00
  • 1df396590f Redesign video cards with channel avatar; fix mobile bottom nav Mattias Tall 2026-05-26 12:01:43 +02:00
  • c7ec8c21f2 Add paste-from-YouTube import to subscription section Mattias Tall 2026-05-26 11:47:16 +02:00
  • 83e1b18c5b Fix max_comments format: use full 4-tuple for yt-dlp YouTube extractor Mattias Tall 2026-05-26 11:45:15 +02:00
  • 50ce373767 Fix comment fetching: write to temp file instead of parsing stdout Mattias Tall 2026-05-26 11:38:00 +02:00
  • 18b3c572f1 Simplify likes display: plain text in meta row, no bar Mattias Tall 2026-05-26 11:34:40 +02:00
  • 74e2b4cd73 Fix comments (Python API), add dislike bar Mattias Tall 2026-05-26 11:33:00 +02:00
  • c9e64d2814 Fix comment extractor args separator (, → ;) and use comment_sort=top Mattias Tall 2026-05-26 11:27:26 +02:00
  • 3f225e7647 Add like count to videos Mattias Tall 2026-05-26 11:25:44 +02:00
  • ffd46b5e08 Fix missing view_count column migration on startup Mattias Tall 2026-05-26 11:20:40 +02:00
  • 8221177615 Add view count to videos Mattias Tall 2026-05-26 11:18:53 +02:00
  • cdf6520fd8 Add lazy comment fetching to watch page Mattias Tall 2026-05-26 11:15:41 +02:00
  • d6dd07e0bd Add delete button to taste profile tags in Stats Mattias Tall 2026-05-26 11:07:32 +02:00
  • a4cd32da4a Add PWA support and Google Takeout subscription import Mattias Tall 2026-05-26 11:04:42 +02:00
  • 219a388d72 Channel page: overlay avatar/name/buttons on banner Mattias Tall 2026-05-26 10:58:31 +02:00
  • 426e85c2c9 Mobile nav, channel banners, search channel linking Mattias Tall 2026-05-26 10:55:25 +02:00
  • ecb246ed99 Add yt-dlp diagnostic button to Settings page Mattias Tall 2026-05-26 10:45:28 +02:00
  • a33491fee0 Fix login: don't intercept 401 on auth/login itself Mattias Tall 2026-05-26 10:40:33 +02:00
  • fb2e42051e Fix Watch page crash: import getQueue Mattias Tall 2026-05-26 10:23:24 +02:00
  • ba03245449 Fix EJS: install yt-dlp[default] and enable --js-runtimes node Mattias Tall 2026-05-26 10:19:00 +02:00
  • 050caead54 Install Node.js via nodeenv (pip); use web client Mattias Tall 2026-05-26 10:16:10 +02:00
  • 53ea64ee8a Switch to web_embedded player client Mattias Tall 2026-05-26 10:12:32 +02:00
  • b58dc26bd4 Switch to android_vr player client — no Node.js required Mattias Tall 2026-05-26 10:10:58 +02:00
  • a006bf08bc Add node symlink to Dockerfile; expand ytdlp-test diagnostics Mattias Tall 2026-05-26 10:06:53 +02:00
  • 299338ff80 Fix double _cookie_args() call in download; fix diagnostic player client Mattias Tall 2026-05-26 10:01:24 +02:00
  • 3e439f2d3a Add Node.js to Docker image; use web player client only Mattias Tall 2026-05-26 09:57:02 +02:00
  • 98d986cd95 Fix cookie fallback breaking yt-dlp in Docker; add OAuth2 auth flow Mattias Tall 2026-05-26 09:53:02 +02:00
  • b3284b35da Set yt-dlp cache dir to /data/yt-dlp-cache for persistent OAuth tokens inputnoise 2026-05-25 21:56:41 +02:00
  • 32af6c1c49 Try tv player client first to bypass datacenter IP bot detection inputnoise 2026-05-25 21:45:05 +02:00
  • 4ab8245a93 Debug: log fetch_video_metadata cookie args and errors inputnoise 2026-05-25 21:42:02 +02:00
  • 8c291f5c2d Hardcode download bind mount directly to /mnt/serverdata/youtube inputnoise 2026-05-25 21:31:40 +02:00
  • 9487261e11 Hardcode download volume path to /mnt/serverdata/youtube inputnoise 2026-05-25 21:30:36 +02:00
  • 28441ca726 Use named volume for downloads so DOWNLOAD_PATH from stack.env is respected on every redeploy inputnoise 2026-05-25 21:28:47 +02:00
  • a09f8ac5c2 Use print() for cookie debug log so it shows in container logs inputnoise 2026-05-25 21:25:39 +02:00
  • d50ccf399f Log cookie args on download start for debugging inputnoise 2026-05-25 21:19:26 +02:00
  • a2a84d2c04 Use iOS player client to bypass YouTube bot detection (fixes 'only images available') inputnoise 2026-05-25 21:04:24 +02:00
  • 5f5ca52b95 Add cookies.txt upload UI — drag/drop or click to upload, stored in data volume inputnoise 2026-05-25 21:01:02 +02:00
  • 56dd5f8360 Add cookies file support for Docker; auto-detect /data/cookies.txt inputnoise 2026-05-25 20:57:04 +02:00
  • bcc425b6fb Fix volume permissions: entrypoint chowns /data to uid 1000, run app as non-root inputnoise 2026-05-25 20:50:10 +02:00
  • 03b10b6f86 Always install latest yt-dlp on build inputnoise 2026-05-25 20:38:25 +02:00
  • 2a2ba0f41c Proxy /files/ through nginx to backend for video playback inputnoise 2026-05-25 20:32:16 +02:00
  • 1a5d074de4 Remove exposed backend port — only frontend proxy needed inputnoise 2026-05-25 20:27:45 +02:00
  • a652f6e7a8 Add stack.env for Portainer repository deployment inputnoise 2026-05-25 20:26:33 +02:00
  • a3b73fbf72 Remove unused JELLYFIN_URL config inputnoise 2026-05-25 20:25:08 +02:00
  • 7194ec45ec Remove ALLOW_REGISTRATION env var — managed via admin UI instead inputnoise 2026-05-25 20:16:15 +02:00
  • 1827dd6c4e Initial commit — YT Hub inputnoise 2026-05-25 20:09:04 +02:00