edde746
3c43874342
fix(tvos): update mpvkit audio passthrough
2026-06-13 10:24:15 +02:00
edde746
85d9b6ebab
fix(tvos): hide unsupported playback options
2026-06-13 10:13:02 +02:00
edde746
c2fe142293
refactor(watch): WatchActions owns mark-watched orchestration and events
2026-06-12 14:09:21 +02:00
edde746
431b0f9b0c
refactor(ui): shared watched indicator overlay
2026-06-12 13:56:47 +02:00
edde746
05251edaf3
fix(tv): close virtual keyboard when its text field unmounts
...
The keyboard is a navigator route, so a screen swapping out its form
left it floating over the new content. showTvVirtualKeyboard now
returns a route handle and the field host closes it on dispose.
2026-06-12 13:36:01 +02:00
edde746
7f1eb3a818
fix(focus): back over a dialog no longer pops the underlying screen
2026-06-12 13:19:29 +02:00
edde746
bd0a0c5d6b
feat(android): loudness normalization for exoplayer via audiofx
...
close #1289
2026-06-12 12:38:57 +02:00
edde746
71b05fd4b2
fix(ui): unwatched count badge grows as pill, caps at 999+
...
close #1310
2026-06-12 09:11:56 +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
03c623e8c7
perf(grids): rebuild media grids on width change, not every scroll tick
2026-06-12 07:18:34 +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
f214c50c15
fix(player): responsive double-tap skip stacking
...
single tap stacks while the skip pill is visible, feedback shows before
the seek (instant on transcode restarts), fade-out hide timer is tracked so
a re-shown pill isn't killed mid-spree, and tap pairing uses the platform
kDoubleTapTimeout
2026-06-11 07:15:31 +02:00
edde746
1fc081ed6b
fix(player): eager timeline scrub gesture and stable slider tree
...
close #1302
2026-06-11 07:15:31 +02:00
edde746
3221a0cb1a
feat: add continue watching details navigation
...
close #1295
2026-06-10 12:50:32 +02:00
edde746
e7efa458e5
fix(images): preserve fallback placeholder size
...
close #1293
2026-06-10 09:55:22 +02:00
edde746
9b48f26463
refactor(watch): shared point-of-use resolution across consumers
...
Adds context.withFreshWatchState/readFreshWatchState and sweeps the
remaining session-critical readers: context menu actions, folder tree
rows, discover hero, and TV spotlight minutes-left.
2026-06-10 05:38:33 +02:00
edde746
3753967caf
fix(watch): resolve watch state per item at cards and playback open
...
Cards consult the hierarchy-aware store so container marks flip episode
rows instantly and a stale per-episode patch can no longer shadow a newer
show/season mark; playback opens with the session-fresh resume offset.
2026-06-10 05:23:09 +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
e02daa89b8
fix(tvos): stop Home nav auto-playing continue watching
...
close #1281
2026-06-09 06:10:22 +02:00
edde746
d44a8994ce
fix(discover): open server tasks with remote
...
close #1272
2026-06-08 08:23:57 +02:00
edde746
42d9168941
fix(player): stabilize mobile content strip
2026-06-08 00:50:22 +02:00
edde746
38616770e5
fix(i18n): localize season & episode labels in downloads tree
2026-06-07 21:46:44 +02:00
edde746
bf7558f80d
fix(i18n): localize generic season names from server
...
close #1271
2026-06-07 21:46:24 +02:00
edde746
bbf7b1f9da
feat(overlay-sheet): opt-in PopScope so the host owns system back
...
Adds nullable canPop + onSystemBack to OverlaySheetHost. When canPop is
set, the host installs its own PopScope that closes an open sheet on a
system/route back instead of popping the screen; null keeps today's
behavior. Lets screens drop their hand-rolled sheet-back PopScopes.
2026-06-07 09:06:29 +02:00
edde746
01e5814943
fix(video): consolidate auto-skip cancellation
2026-06-07 06:13:14 +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
32421e4c84
fix(tv): reach app bar actions via up from tabs
...
close #1202
2026-06-06 08:51:08 +02:00
edde746
d90cc61541
fix(tv): symmetric full-card focus glow via overlay
...
close #1231
2026-06-06 05:09:07 +02:00
edde746
0fd0506551
feat(media): lazily page detail episodes
...
close #1245
2026-06-05 19:26:02 +02:00
edde746
de3219abb9
fix: align bottom sheet back header
2026-06-05 06:30:26 +02:00
edde746
8201d8dcda
feat(libraries): add mobile browse options sheet
2026-06-04 20:41:34 +02:00
edde746
75b1c86306
feat(ui): add m3 app menus
2026-06-04 16:22:31 +02:00
edde746
145881318e
fix: harden server-scoped state
2026-06-04 13:47:06 +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
24b5080c38
fix(video): stabilize player chrome overlays
2026-06-02 14:20:24 +02:00
edde746
cb2e56442d
fix(subtitles): show search without subtitle tracks
...
close #1219
2026-06-01 19:08:17 +02:00
edde746
a425798bae
fix(video): iOS video zoom
2026-06-01 15:21:41 +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
4ffa3d30f6
fix(player): preserve shader toggle preset
...
close #1208
2026-05-31 21:25:46 +02:00
edde746
9cfc6c0f4a
fix(tv): stabilize osk dismissal
2026-05-31 15:22:13 +02:00
edde746
6438b444bf
fix(player): clarify Dolby Vision playback logging
2026-05-31 06:56:18 +02:00
edde746
8413e1e5a7
fix(player): reduce sync offset dpad step
2026-05-31 06:38:25 +02:00
edde746
a4a0475fdb
fix(player): let macOS shortcuts pass through
...
close #1206
2026-05-31 03:03:52 +02:00
edde746
f5012b36ea
fix(media-detail): collapse action buttons that overflow small screens
2026-05-30 17:20:16 +02:00