-
7814fc9718
Add widget API endpoints for backstage dashboard integration
master
Mattias Tall
2026-06-11 11:48:18 +02:00
-
33e9472f17
Pin all yt-dlp calls to tv_embedded client to stop IP rate limiting
Mattias Tall
2026-05-27 08:47:02 +02:00
-
140bf4acf6
revert: remove ios player_client arg from all yt-dlp calls
Mattias Thall
2026-05-27 06:00:41 +02:00
-
8dcbad6e70
perf: use iOS player client and increase metadata gap to reduce throttling
Mattias Thall
2026-05-27 03:46:54 +02:00
-
8a5108425b
fix: top-bar indicator links to downloads when download/task is active
Mattias Thall
2026-05-27 03:35:01 +02:00
-
09c11da1ce
fix: reduce pending deletion window from 7 days to 2 hours
Mattias Thall
2026-05-27 03:34:18 +02:00
-
a3346c6e87
fix: stop discovery from bursting dozens of yt-dlp calls inside one task
Mattias Thall
2026-05-27 03:17:37 +02:00
-
0c5b236b77
fix: close remaining concurrent yt-dlp session sources
Mattias Thall
2026-05-27 03:12:12 +02:00
-
c223e57463
fix: prevent concurrent yt-dlp sessions that invalidate cookies
Mattias Thall
2026-05-27 03:07:19 +02:00
-
a0384b2277
Schedule auto-discovery at 4 AM daily instead of every 23 hours
Mattias Thall
2026-05-27 02:59:41 +02:00
-
bcbd552eab
Show discovery progress in the top-bar indicator alongside downloads/tasks
Mattias Thall
2026-05-27 02:58:13 +02:00
-
1179b53f2e
Fix hidden yt-dlp calls on video page causing cookie invalidation
Mattias Thall
2026-05-27 02:43:45 +02:00
-
146a044e69
Fix For You feed: replace broken jitter with proper tier-based sampling
Mattias Thall
2026-05-27 02:34:05 +02:00
-
a535e9f22a
Add queue-based gradual discovery with shuffled call ordering and progress UI
Mattias Thall
2026-05-27 02:28:35 +02:00
-
e6faf8e08e
Drastically reduce discovery yt-dlp call count: 64 → ~21
Mattias Thall
2026-05-27 02:14:25 +02:00
-
0a4dfb845e
Pause discovery metadata calls while a download is active
Mattias Thall
2026-05-27 02:12:43 +02:00
-
c3191aa000
Fix SyntaxError in ytdlp.py start_download: duplicate try block
Mattias Thall
2026-05-27 02:04:11 +02:00
-
395b987644
Add last_discovery_run to UserSettings model
Mattias Thall
2026-05-27 02:03:39 +02:00
-
12f54ac5b0
Auto-schedule daily discovery + fix Find More UX + expand query diversity
Mattias Thall
2026-05-27 01:58:39 +02:00
-
4d255647a1
Fix cookie invalidation: give each yt-dlp process a private cookie file copy
Mattias Thall
2026-05-27 01:48:29 +02:00
-
592194f2ca
Fix discovery scoring: cap trending, prevent score inflation, add freshness
Mattias Thall
2026-05-27 01:37:09 +02:00
-
b6a47249d0
Fix search latency: bypass rate limiter for user-triggered searches
Mattias Thall
2026-05-27 01:27:36 +02:00
-
86e7648075
Fix _meta_run: hold lock for entire yt-dlp execution, not just scheduling
Mattias Thall
2026-05-27 01:21:36 +02:00
-
1b010d4081
Track video clicks as engagement signals
Mattias Thall
2026-05-27 01:19:47 +02:00
-
fadb0fffcd
Add started_count to stats (videos in progress, not yet finished)
Mattias Thall
2026-05-27 01:18:49 +02:00
-
9d35cc7c68
Increase recommendation density in For You feed to ~25%
Mattias Thall
2026-05-27 01:17:04 +02:00
-
bbf7cc939b
Overhaul For You feed ranking and freshness
Mattias Thall
2026-05-27 01:14:10 +02:00
-
c11e1fdaf7
Complete rate-limiter coverage for all background yt-dlp calls
Mattias Thall
2026-05-27 01:09:14 +02:00
-
19dae63385
Route all discovery fetches through global rate limiter
Mattias Thall
2026-05-27 01:05:56 +02:00
-
4a7f1f06ac
Fix discovery refresh: open fresh DB session in background task
Mattias Thall
2026-05-27 01:01:18 +02:00
-
1ee6edcb17
Lower finished threshold from 90% to 75%
Mattias Thall
2026-05-27 00:37:57 +02:00
-
c26fc3483c
Rate limit only background batch fetches, not user requests
Mattias Thall
2026-05-27 00:34:59 +02:00
-
c180c293b0
Add global yt-dlp metadata rate limiter (5s + jitter between calls)
Mattias Thall
2026-05-27 00:31:14 +02:00
-
15e6b94cbf
Expand taste profile: show up to 60 tags with score bars
Mattias Thall
2026-05-27 00:15:57 +02:00
-
32e55b9042
Hard-cap list view description snippet at 180 chars
Mattias Thall
2026-05-27 00:13:24 +02:00
-
77aebffa49
Set discovery card descriptions to 3 lines
Mattias Thall
2026-05-27 00:10:50 +02:00
-
ba6dfe321d
Trim discovery card descriptions to 1 line
Mattias Thall
2026-05-27 00:08:48 +02:00
-
31cef555a9
Cap list view description to 3 lines
Mattias Thall
2026-05-27 00:07:55 +02:00
-
001d2ddcf0
Add Jellyfin NFO sidecar generation for downloaded videos
Mattias Thall
2026-05-27 00:03:58 +02:00
-
65bc199366
Add browser notification support for new videos
Mattias Thall
2026-05-26 23:56:22 +02:00
-
8029b2517f
Slow down popular fetch and enrich to protect cookies
Mattias Thall
2026-05-26 23:53:37 +02:00
-
ff601d3585
Add stats peak hours, RSS feed, channel health view, bulk video download
Mattias Thall
2026-05-26 23:50:55 +02:00
-
3652038cf5
Add offline indicator, surprise me button, and continue watching on channel
Mattias Thall
2026-05-26 23:46:58 +02:00
-
e02ea12494
Add hover popover to nav download indicator
Mattias Thall
2026-05-26 23:33:26 +02:00
-
3a557a1d24
Show popular fetch phases in nav indicator and Downloads page
Mattias Thall
2026-05-26 23:32:39 +02:00
-
be84660e2d
Add popular fetch progress to Downloads page
Mattias Thall
2026-05-26 23:17:13 +02:00
-
c3290d33a7
Reduce parallel YouTube request workers to avoid cookie invalidation
Mattias Thall
2026-05-26 23:11:07 +02:00
-
be7319e96c
Sample videos randomly for view_count enrichment, not newest-first
Mattias Thall
2026-05-26 23:06:32 +02:00
-
6e455ed8ce
Fetch popular: flat-playlist crawl then parallel view_count enrichment
Mattias Thall
2026-05-26 23:05:21 +02:00
-
ff4d8e4ab4
Popular tab: rank by real view_count, drop broken ?sort=p URL
Mattias Thall
2026-05-26 23:02:03 +02:00
-
3e699d61b6
Fix popular task failing silently when table doesn't exist
Mattias Thall
2026-05-26 22:52:30 +02:00
-
c3b83ba1d3
Enrich playlist video dates after indexing
Mattias Thall
2026-05-26 22:50:56 +02:00
-
77cba81ef4
Popular: write Phase 1 immediately, enrich view_count in background
Mattias Thall
2026-05-26 22:47:42 +02:00
-
be88d70935
Fetch first video thumbnail for playlists with no thumbnail
Mattias Thall
2026-05-26 22:42:58 +02:00
-
6cfaca382c
Fix playlist thumbnails — extract from yt-dlp thumbnails array
Mattias Thall
2026-05-26 22:42:30 +02:00
-
abd7ed7c5a
Redesign playlist cards to match VideoCard list style
Mattias Thall
2026-05-26 22:41:04 +02:00
-
112f87e764
Popular tab now shows only flagged popular videos in rank order
Mattias Thall
2026-05-26 22:38:53 +02:00
-
2f37072187
Fix popular fetch and improve date/view_count coverage
Mattias Thall
2026-05-26 22:36:18 +02:00
-
5b0cf27f07
Add playlists support and fix explore older videos
Mattias Thall
2026-05-26 22:28:35 +02:00
-
d31fc1ef7f
Add Popular tab to channel page
Mattias Thall
2026-05-26 22:22:10 +02:00
-
aa91156bbc
Add older content exploration: channel page + home feed Rediscover mode
Mattias Thall
2026-05-26 22:17:20 +02:00
-
0b482b5d49
Overhaul channel page: search, pagination, fetch all history
Mattias Thall
2026-05-26 22:15:09 +02:00
-
50d61b5774
Fix crawled_at type error in get_channel
Mattias Thall
2026-05-26 22:04:35 +02:00
-
d740fd5224
Auto-reindex channel on page visit if stale
Mattias Thall
2026-05-26 22:02:59 +02:00
-
871f668525
Parallelize discovery searches and add graph signal
Mattias Thall
2026-05-26 21:59:23 +02:00
-
62c2c73906
Expand discovery pool and remove header logo
Mattias Thall
2026-05-26 21:55:52 +02:00
-
52279752e4
Minimal flat redesign: white accent, remove card backgrounds
Mattias Thall
2026-05-26 21:50:44 +02:00
-
366a2ff183
Limit auto-generated subtitle langs to en/sv/ja in CC dropdown
Mattias Thall
2026-05-26 21:40:47 +02:00
-
8f0ce0756f
Activate subtitle track when lang selected from dropdown
Mattias Thall
2026-05-26 21:35:34 +02:00
-
33e4691619
Fix subtitle size and don't auto-select any track on load
Mattias Thall
2026-05-26 21:33:11 +02:00
-
6311b90b21
Simplify CC dropdown: downloaded langs at top, YouTube langs below
Mattias Thall
2026-05-26 21:25:41 +02:00
-
da765ce76e
Fix subtitle positioning and show existing langs without re-downloading
Mattias Thall
2026-05-26 21:22:33 +02:00
-
75493ed80e
Center and style video subtitles via ::cue
Mattias Thall
2026-05-26 21:18:24 +02:00
-
bbf8365c70
Add subtitle-only download for already-downloaded videos
Mattias Thall
2026-05-26 21:16:30 +02:00
-
27f17c16ef
Fix subtitle playback: vtt format, track elements, fast disk scan
Mattias Thall
2026-05-26 21:11:58 +02:00
-
97ebcd6c1d
Make subtitle availability check lazy (user-triggered, not on page load)
Mattias Thall
2026-05-26 21:04:41 +02:00
-
399c5fcada
Add per-video subtitle language picker on Watch page
Mattias Thall
2026-05-26 20:57:57 +02:00
-
ea99b74ba8
Add scheduled sync, disk space awareness, and subtitle downloads
Mattias Thall
2026-05-26 20:36:50 +02:00
-
3abbd5749e
Remove embed-metadata and embed-thumbnail to speed up post-merge
Mattias Thall
2026-05-26 20:26:47 +02:00
-
2bb5f35db0
Restore embed-metadata/thumbnail for Jellyfin, drop wasteful faststart pass
Mattias Thall
2026-05-26 20:23:19 +02:00
-
a15123028c
Speed up post-download merge by dropping embed-thumbnail and embed-metadata
Mattias Thall
2026-05-26 20:20:42 +02:00
-
b41412071a
Fix quality: drop unsupported tv_embedded player client override
Mattias Thall
2026-05-26 20:14:23 +02:00
-
e9140ab6a1
Fix quality format fallbacks and resolution detection above 1080p
Mattias Thall
2026-05-26 20:07:41 +02:00
-
8da361b087
Fix quality: use tv_embedded,web player client instead of web-only
Mattias Tall
2026-05-26 17:48:10 +02:00
-
83e2685c6a
Quality selector auto-triggers re-download on change when video is saved
Mattias Tall
2026-05-26 17:41:06 +02:00
-
c24964a1ee
Fix quality formats: drop AVC1/MP4 codec restrictions that caused 360p fallback
Mattias Tall
2026-05-26 17:39:55 +02:00
-
744af7337b
Add quality indicator and re-download at quality to Watch page
Mattias Tall
2026-05-26 17:37:03 +02:00
-
623e82fb16
Fix player crash: remove premature pollForFile in handleDownloadAndPlay
Mattias Tall
2026-05-26 17:30:58 +02:00
-
fe8028c1f9
Fix player crash: gate file polling on confirmed download completion
Mattias Tall
2026-05-26 17:29:07 +02:00
-
94f74215e2
Consistency sweep: fix switcher layout, gaps, buttons, empty states
Mattias Tall
2026-05-26 17:21:02 +02:00
-
f422d754b9
Compact all mode/tab switchers site-wide
Mattias Tall
2026-05-26 17:12:18 +02:00
-
ebd8ddee6e
Fix channel page mobile layout
Mattias Tall
2026-05-26 17:09:17 +02:00
-
ca5196d9f1
Restore dislike signal as icon-only chip next to Like
Mattias Tall
2026-05-26 17:04:16 +02:00
-
ed55478599
Minimal UX pass: cut action clutter, more breathing room
Mattias Tall
2026-05-26 17:01:50 +02:00
-
d6035e6f1f
Trim description clutter: strip URLs in cards, tighter preview in Watch
Mattias Tall
2026-05-26 16:53:01 +02:00
-
3e3d2c7464
Fix discovery to actually use negative affinity signals
Mattias Tall
2026-05-26 16:48:39 +02:00
-
6f600c9a5c
UX: list view everywhere, mobile polish, affinity dismissal fix
Mattias Tall
2026-05-26 16:41:22 +02:00
-
fc05a40f02
Fix affinity scoring, add completion signal, seamless local player switch
Mattias Tall
2026-05-26 16:30:29 +02:00
-
c00d5c7595
Optimise Following page: 4 aggregated queries, no correlated subqueries
Mattias Tall
2026-05-26 16:18:33 +02:00
-
1405acfaed
Revert channel stats to correlated subqueries (CTE had a param binding bug)
Mattias Tall
2026-05-26 16:10:24 +02:00