Commit Graph
433 Commits
Author SHA1 Message Date
edde746 649eaa4cce refactor(watch-together): share relay setup 2026-07-12 08:42:24 +02:00
edde746 80344a630f feat(playlists): add picker filtering and TV focus 2026-07-12 08:42:24 +02:00
edde746 2a128777f1 refactor(profiles): centralize Plex token policy 2026-07-12 08:42:24 +02:00
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 3d36ecf094 fix(mpv): harden native initialization and logging 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 a0f153e5ab refactor(symbols): share upload flow 2026-07-12 08:42:23 +02:00
edde746 0135318ded fix(android): include mpv end-file diagnostics 2026-07-12 08:42:22 +02:00
edde746 f4ec6ccf20 fix(settings): guard Atmos diagnostics stop 2026-07-12 08:42:22 +02:00
edde746 5f8d263d63 fix(ci): fail closed on analyzer errors 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 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 cdec9d1514 refactor(player): centralize chapter traversal 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 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 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 a23c7f215c fix(player): tighten staged back navigation 2026-07-11 23:11:25 +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
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 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
edde746 b5d8ff5332 fix(metadata-edit): use 16:9 poster picker for episodes
close #1519
2026-07-10 12:45:35 +02:00
edde746 7509077d63 perf(tv): reduce animated semantics work 2026-07-10 12:07:19 +02:00
edde746 cbabdf2151 fix(images): prevent artwork limiter permit leaks 2026-07-10 12:07:19 +02:00
edde746 1acc83572e perf(tv): reduce navigation rebuilds and artwork fan-out 2026-07-10 12:07:19 +02:00