edde746
c849a213f0
refactor(net): shared FailoverHttpClient for both backends
2026-06-12 15:22:52 +02:00
edde746
ad3cc6b986
feat(player): language-first audio & subtitle track labels
...
close #1307
2026-06-12 04:16:39 +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
3221a0cb1a
feat: add continue watching details navigation
...
close #1295
2026-06-10 12:50:32 +02:00
edde746
18642cae15
fix(tv): correct grid calculation
...
close #1288
2026-06-09 12:47:47 +02:00
edde746
7de7802368
fix(hubs): keep recently-added detail scoped to its library
...
close #1282
2026-06-08 22:03:28 +02:00
edde746
381e82d61a
fix(detail): highlight next unwatched ep when not in continue watching
...
close #1269
2026-06-07 18:42:41 +02:00
edde746
145881318e
fix: harden server-scoped state
2026-06-04 13:47:06 +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
74b8dc4561
refactor: type server identifiers
2026-06-01 11:06:03 +02:00
edde746
08a806e457
fix(playback): restore system ui after video
...
close #1152
2026-05-27 06:52:03 +02:00
edde746
cbea1c8d8f
fix(tv): correct long hub row focus scrolling
2026-05-22 21:32:26 +02:00
edde746
9dc3a1a1b1
feat(tv): improve hub rail experience
2026-05-21 15:57:02 +02:00
edde746
d2650667b8
fix(tv): preserve native text input routing
2026-05-19 11:17:44 +02:00
edde746
48cf8accfa
fix(jellyfin): resolve versions on demand
2026-05-19 10:54:04 +02:00
edde746
87db591792
feat(livetv): group guide by source
2026-05-17 06:41:47 +02:00
edde746
cfd4aa307d
fix(plex): tolerate transient resource failures
2026-05-16 22:54:53 +02:00
edde746
91298294b0
fix(tvos): stabilize remote select handling
2026-05-15 22:16:24 +02:00
edde746
fce794cd6c
fix(discover): preserve library order on home
...
close #1034
2026-05-13 15:26:23 +02:00
edde746
4577f26aa8
fix(lifecycle): abort HTTP before close
2026-05-12 15:11:16 +02:00
edde746
fd1eaf9d96
fix(plex): respect per-show season display
...
close #1008
2026-05-11 12:55:59 +02:00
edde746
5fe5534bae
fix(jellyfin): bound home artwork load
2026-05-08 06:06:09 +02:00
edde746
9446f976a4
fix(tv): support hardware keyboard input
2026-05-07 00:52:34 +02:00
edde746
e8769e7059
fix(android): detect tv mode beyond leanback
...
close #980
2026-05-06 02:57:55 +02:00
edde746
94dbae0af9
fix(playback): prevent spurious seek jumps
...
close #946
2026-05-05 09:52:19 +02:00
edde746
05c4d6dff3
feat(playback): restart before previous episode
...
close #979
2026-05-05 08:28:17 +02:00
edde746
aa3c83bad1
fix(jellyfin): handle external transcode subtitles
2026-05-03 10:12:11 +02:00
edde746
afdec05dbf
fix: retry Plex home hubs
...
close #962
2026-05-02 19:18:42 +02:00
edde746
50bc245677
refactor: share low-risk UI and tracker helpers
2026-05-02 01:58:50 +02:00
edde746
31d2d9dc98
feat: jellyfin
2026-05-01 01:20:36 +02:00
edde746
303bd406c2
test: watch_together provider, more mixins, services, utils
2026-04-25 13:44:15 +02:00
edde746
b2cd0c2c37
fix: retry live tv tune, clamp timeline duration
2026-04-22 08:45:02 +02:00
edde746
06b3c9645c
test: assert dispose completer fires
2026-04-22 02:44:54 +02:00
edde746
d4235a286a
test: unit tests for utils, models, settings mpv parser
2026-04-21 20:09:58 +02:00