edde746
baf3c41a44
refactor(providers): share coalesced load scheduling
2026-07-12 08:42:24 +02:00
edde746
f7f4e3a992
fix(windows): support structured mpv observations
2026-07-12 08:42:24 +02:00
edde746
6890cd8690
refactor(settings): remove dead shortcut preferences
2026-07-12 08:42:23 +02:00
edde746
c84b8b4792
refactor(downloads): unify deletion and scoped cache handling
2026-07-12 08:42:23 +02:00
edde746
de5234b59f
refactor(trackers): share username enrichment
2026-07-12 08:42:23 +02:00
edde746
69cf5fb8a1
fix(live-tv): contain retry failures
2026-07-12 08:42:23 +02:00
edde746
f4ec6ccf20
fix(settings): guard Atmos diagnostics stop
2026-07-12 08:42:22 +02:00
edde746
242cc8616c
feat(settings): expose music quality preset
2026-07-12 08:42:22 +02:00
edde746
2ebc1e250d
fix(providers): stop loads after disposal
2026-07-12 08:42:22 +02:00
edde746
5876a602c3
fix(android): surface mpv command failures
2026-07-12 08:42:22 +02:00
edde746
79dabaf125
refactor(watch-together): share host peer IDs
2026-07-12 08:42:22 +02:00
edde746
65d3d8e471
refactor(jellyfin): share auth and time handling
2026-07-12 08:42:22 +02:00
edde746
aa230983d5
refactor(navigation): centralize sidebar focus
2026-07-12 08:42:22 +02:00
edde746
1b9ef3b3b6
fix(discover): avoid progress refresh fanout
2026-07-12 08:42:21 +02:00
edde746
7ed342b345
refactor(watch-together): centralize participant lookup
2026-07-12 08:42:21 +02:00
edde746
29c029f04a
refactor(watch-together): share core primitives
2026-07-12 08:42:21 +02:00
edde746
777780926c
refactor(paging): share unknown-total sentinel
2026-07-12 08:42:21 +02:00
edde746
f08fceaee0
refactor(json): share scalar adapters
2026-07-12 08:42:21 +02:00
edde746
8a8b4f3a61
refactor: remove unused convenience APIs
2026-07-12 08:42:20 +02:00
edde746
cdec9d1514
refactor(player): centralize chapter traversal
2026-07-12 08:42:20 +02:00
edde746
9da047de70
refactor(cache): centralize non-fatal writes
2026-07-12 08:42:20 +02:00
edde746
18835d92dd
refactor(navigation): reuse library icon mapping
2026-07-12 08:42:20 +02:00
edde746
967c25b11d
refactor(player): share queue item labels
2026-07-12 08:42:20 +02:00
edde746
877e8880cf
refactor(profiles): centralize Plex Home cache codec
2026-07-12 08:42:20 +02:00
edde746
ac9c236b6b
refactor(providers): harden server listener state
2026-07-12 08:42:20 +02:00
edde746
df7fa08e40
refactor(focus): centralize focus node ownership
2026-07-12 08:42:20 +02:00
edde746
c58013b818
refactor(downloads): centralize sidecar cleanup
2026-07-12 08:42:20 +02:00
edde746
b925705173
fix(downloads): discard stale profile refreshes
2026-07-12 08:42:19 +02:00
edde746
7a0e838017
fix(profiles): remint empty Plex resource tokens
2026-07-12 08:42:19 +02:00
edde746
bc55aea701
refactor: remove superseded code paths
2026-07-12 08:42:19 +02:00
edde746
dca51a752a
refactor(downloads): centralize metadata merging
2026-07-12 08:42:19 +02:00
edde746
0db6eb6f2e
fix(downloads): normalize Windows sidecar paths
2026-07-12 08:42:19 +02:00
edde746
a63369c247
fix: close async lifecycle races
2026-07-12 08:42:19 +02:00
edde746
6d94880c2f
fix(input): reset long press state safely
2026-07-12 08:42:19 +02:00
edde746
9c6fcbc841
fix(plex): tolerate scalar schema drift
2026-07-12 08:42:18 +02:00
edde746
a809cbbcef
fix(plex): surface server failures
2026-07-12 08:42:18 +02:00
edde746
64db84c3e2
feat(library): default clip libraries to folder grouping
...
close #966
2026-07-12 03:38:23 +02:00
edde746
4a81246986
build(libass): bump fork to 0.18.3
2026-07-12 00:44:08 +02:00
edde746
a23c7f215c
fix(player): tighten staged back navigation
2026-07-11 23:11:25 +02:00
edde746 and moduvoice
5af3a926d7
i18n: complete locale translations
...
close #1537
Co-authored-by: moduvoice <moduvoicr77@gmail.com >
2026-07-11 22:53:33 +02:00
edde746
2679745941
fix: stop Jellyfin live TV sessions
...
close #1533
2026-07-11 22:00:05 +02:00
edde746
4443b76145
fix(player): respect visible chrome on back
2026-07-11 17:38:22 +02:00
edde746
3a982c2a7a
fix(player): prevent duplicate back actions
2026-07-11 12:59:57 +02:00
edde746
e07172ade4
fix(tvos): enable native EAC3 JOC playback
2026-07-11 12:59:57 +02:00
Ryan Ernest
c86d40f8dd
fix(player): preserve volume when toggling mute ( #1532 )
...
* fix(player): preserve volume when toggling mute
Muting now keeps the last volume level memorized. Unmuting restores that level, including amplified values allowed by the configured maximum.
* fix(player): preserve volume for companion remote mute
Route the companion remote through the shared mute transition so it no longer overwrites the persisted volume or restores to 100%. Also correct the Dartdoc formatting for the transition record fields.
2026-07-11 12:46:58 +02:00
edde746
d86e328169
fix(player): unify back navigation
...
close #1525
2026-07-11 03:23:40 +02:00
edde746
9b6c12d086
style: format playback_open
2026-07-10 21:26:25 +02:00
edde746
c5c7dd614f
i18n: translate stream-interrupted snackbar to all locales
2026-07-10 20:27:52 +02:00
edde746
f87d6e5a52
fix(player): keep paused server sessions alive
...
Report the paused timeline every tick (~10s, matching official clients)
instead of every ~60s, and ping the Plex transcoder keepalive endpoint
alongside it while transcoding — PMS reaps idle transcode sessions that
timeline reports alone historically have not kept alive. Prevents the
transcode-variant of the #1520 stream death; the reporter's direct-play
case is covered by EOF classification and reconnect.
2026-07-10 19:12:36 +02:00
edde746
c885c0c6bc
fix(player): intercept spurious mid-file EOF and recover in place
...
close #1520
Classify player EOF signals against the best-known duration: a mid-file
EOF means the stream died (transcode reaped or idle connection closed
during a long pause), not that the media ended — it must never mark the
item watched, prompt Play Next, or exit a movie. Recover with a bounded
in-place reload at the parked position; if the server is still refusing,
park on the old frame and rebuild the stream on user play/seek or when
the server-status monitor sees it come back online.
2026-07-10 19:11:18 +02:00