edde746
0d7dd093c4
fix(jellyfin): flip server status when all endpoints are exhausted
2026-06-12 15:26:39 +02:00
edde746
c849a213f0
refactor(net): shared FailoverHttpClient for both backends
2026-06-12 15:22:52 +02:00
edde746
e28e2b9371
refactor(media): folder browsing via MediaServerClient interface
2026-06-12 14:33:38 +02:00
edde746
5e4449247b
fix(downloads): inject visibility-aware client resolver
2026-06-12 14:16:24 +02:00
edde746
c2fe142293
refactor(watch): WatchActions owns mark-watched orchestration and events
2026-06-12 14:09:21 +02:00
edde746
959e6e9398
refactor(watch): single watched-progress predicate
2026-06-12 13:49:46 +02:00
edde746
e6a488a4e2
fix(settings): resolve tv-dependent defaults at read time
2026-06-12 13:45:37 +02:00
edde746
75d0164a8b
fix(offline): persist plex watched threshold for offline use
2026-06-12 13:43:29 +02:00
edde746
587609d7f6
fix(tv): hug poster with focus border and add focus glow toggle
...
close #1278
2026-06-12 08:50:29 +02:00
edde746
cceba28d0a
fix(i18n): request localized Plex labels
...
close #1311
2026-06-12 07:59:35 +02:00
edde746
2b34f4a9d7
perf(tv): reduced visual-effects tier for low-end devices
2026-06-12 06:30:38 +02:00
edde746
ad3cc6b986
feat(player): language-first audio & subtitle track labels
...
close #1307
2026-06-12 04:16:39 +02:00
edde746
0f1bf5e011
perf(jellyfin): skip per-folder user data in folder tree listings
2026-06-12 02:18:28 +02:00
edde746
d816d82a38
fix(folders): row context menus, dpad left to sidebar, faster Jellyfin listings
2026-06-12 02:00:42 +02:00
edde746
3599b0b0e1
fix(startup): no-servers flash on fresh login + faster connect splash
...
- start binder before navigating from auth, mark isBinding synchronously
- overlap plex.tv resource refresh with optimistic cached-metadata connect,
reconcile tokens/membership in background once it lands
- cached endpoint probe gets a head start on the race instead of serially
blocking it
- defer phase-1 HTTPS upgrade off the splash critical path
- per-server connect progress stream for incremental splash checkmarks
- startup timing instrumentation (bind/fetch/race/connect elapsedMs)
2026-06-12 01:46:43 +02:00
edde746
7ec062deaf
fix(player): pinch zoom flicker from per-tick relayout and filter churn
...
close #1261
2026-06-11 12:29:34 +02:00
edde746
38afdab2e4
fix: support mx player variants
...
close #1304
2026-06-11 08:35:19 +02:00
edde746
3221a0cb1a
feat: add continue watching details navigation
...
close #1295
2026-06-10 12:50:32 +02:00
edde746
516925cf50
refactor(watch): promote overlay to hierarchy-aware WatchStateStore
...
Resolution now considers parentChain ancestors (newest event wins) and
watched patches set container leaf counts, so container marks reach
descendant cards and vice versa.
2026-06-10 05:18:02 +02:00
edde746
cd9498abb8
refactor(player): centralize playback opening
...
close #1280
2026-06-10 02:26:26 +02:00
edde746
92063bd58f
fix(playback): skip redundant mark-watched
...
close #1287
2026-06-09 12:19:27 +02:00
edde746
726281ed44
fix(tvos): top shelf sync
2026-06-09 08:06:42 +02:00
edde746
e02daa89b8
fix(tvos): stop Home nav auto-playing continue watching
...
close #1281
2026-06-09 06:10:22 +02:00
edde746
9cebcb97c5
feat(plex): add Plays and User Rating sort options
...
close #1264
2026-06-07 17:50:36 +02:00
edde746
eef73e6447
fix: expand home hub previews
...
close #1268
2026-06-07 17:35:56 +02:00
edde746
e8df18e7b2
fix(jellyfin): order continue watching + up next by recency
2026-06-07 16:34:18 +02:00
edde746
8efd8f1dc8
fix(jellyfin): upload artwork as binary
2026-06-07 13:32:07 +02:00
edde746
1ef4032666
feat: add startup section setting
...
close #1240
2026-06-06 13:08:02 +02:00
edde746
4c4b18e2cd
fix(i18n): localize hardcoded UI strings
...
close #1257
2026-06-06 11:45:34 +02:00
edde746
f74314bbf0
fix(livetv): debounce rapid time-shift skips to stop overshoot
2026-06-06 10:48:51 +02:00
edde746
0fd0506551
feat(media): lazily page detail episodes
...
close #1245
2026-06-05 19:26:02 +02:00
edde746
43012da2b8
feat(tvos): add top shelf support
2026-06-04 15:38:12 +02:00
edde746
145881318e
fix: harden server-scoped state
2026-06-04 13:47:06 +02:00
edde746
79c06b82d3
fix(jellyfin): align default track selection
2026-06-04 10:35:14 +02:00
edde746
e5bbdc06f9
feat(jellyfin): show media quality labels
2026-06-04 09:56:10 +02:00
edde746
0e7ff609b6
feat(media): show video and audio quality labels
...
close #1115
2026-06-04 08:20:12 +02:00
edde746
f3e108e867
fix(tvos): suppress duplicate select playback
2026-06-03 17:31:15 +02:00
edde746
92bfae322e
fix(tvos): handle play pause remote
...
close #1230
2026-06-03 14:19:23 +02:00
edde746
a425798bae
fix(video): iOS video zoom
2026-06-01 15:21:41 +02:00
edde746
1020188883
fix(video): restore stretch fit startup
2026-06-01 12:40:59 +02:00
edde746
74b8dc4561
refactor: type server identifiers
2026-06-01 11:06:03 +02:00
edde746
09f5121732
feat(metadata): add Jellyfin edit support
2026-06-01 08:34:38 +02:00
edde746
8f9d20a2e4
feat(jellyfin): add extras support
2026-06-01 08:34:38 +02:00
edde746
d5c8778074
fix: harden reconnect and playback regressions
2026-05-31 20:33:38 +02:00
edde746
1b5334e72f
fix(jellyfin): harden local discovery flow
2026-05-31 14:33:31 +02:00
edde746
e3db54940d
feat(jellyfin): add local server discovery
...
close #1188
2026-05-31 10:51:08 +02:00
edde746
5671f6e5d1
fix(plex): send playback session stream header
2026-05-31 06:30:51 +02:00
edde746
9a740b91c1
fix(plex): select available playback version
2026-05-31 02:21:15 +02:00
edde746
9825ce3c7c
fix: select first playable Plex Part instead of always Part[0]
...
close #1201
2026-05-30 21:37:01 +02:00
edde746
6111c381af
fix(libraries): reload when a server connects after initial load
2026-05-30 14:01:01 +02:00