edde746
6df8aba097
fix(nav): preserve HTPC escape behavior
...
Use Flutter's supported desktop application-exit API so the second root Back press closes Plezy on Windows. Preserve fullscreen when video player navigation is enabled while keeping fullscreen-first Escape behavior for normal desktop use.
close #1582
2026-07-16 20:43:10 +02:00
edde746
ac9a5914a2
fix(plex): handle malformed lyrics XML
2026-07-16 14:36:48 +02:00
edde746
ff602f1456
fix(plex): load local lyrics
...
Closing #1585
2026-07-16 12:56:16 +02:00
edde746
d253450e9d
fix(plex): show all artist releases
...
close #1577
2026-07-15 08:49:06 +02:00
edde746
74cae73844
fix(ci): restore Dart formatting gate
2026-07-15 08:25:42 +02:00
edde746
ddb7520ce8
fix(jellyfin): promote redirected server URLs
2026-07-14 23:05:57 +02:00
edde746
abf1027b77
feat(plex): migrate video transcoding to HLS
2026-07-14 18:11:04 +02:00
edde746
9d812fa3cc
fix(plex): match legacy agent GUIDs
...
closing #1566
2026-07-14 18:11:04 +02:00
edde746
8c88385977
feat(jellyfin): cycle media backdrops
...
close #1568
2026-07-14 07:24:11 +02:00
edde746
1bdd76d95a
fix(plex): wait for shared server resource tokens
2026-07-14 00:15:46 +02:00
edde746
d5f3e581df
fix: eliminate cross-app consistency drift
2026-07-13 23:13:53 +02:00
edde746
ec249d2ed4
fix(jellyfin): repair music library browsing
...
Fixes #1557
2026-07-13 22:58:12 +02:00
edde746
40792e2779
fix: restore focus and interaction behavior
2026-07-13 17:00:50 +02:00
edde746
e15bbed554
test(servers): cover exhaustion reconnection and offline retry loop
...
Adds a production-wired exhaustion trigger hook, documents the
no-throw invariant behind the fire-and-forget verification probe, and
covers the confirmed-offline reconnect and debounce-driven recovery.
2026-07-13 12:05:23 +02:00
edde746
65e63c206e
fix(jellyfin): slim music hub row fields
...
close #1552
Latest Albums returns MusicAlbum folder dtos, where the browse count/user-data
fields each cost a recursive per-album COUNT query; request it with the slim
album fields + EnableUserData=false under a dedicated latestalbums identifier,
and drop the folder fields and Overview from the played-track rows.
2026-07-13 12:05:23 +02:00
edde746
f104b5ffae
fix(jellyfin): prevent false offline loops
2026-07-13 11:30:17 +02:00
edde746
e03edad824
fix: prevent async state and platform regressions
2026-07-13 00:03:52 +02:00
edde746
a561777456
perf: reduce state notification fan-out
2026-07-12 18:59:58 +02:00
edde746
0ef1e773bb
fix: scope navigation callbacks to active owners
2026-07-12 18:59:27 +02:00
edde746
cd88f73f05
fix: serialize async state transitions
2026-07-12 18:59:14 +02:00
edde746
d1c4ae83eb
fix(review): resolve post-consolidation regressions
2026-07-12 17:31:16 +02:00
edde746
a9493f4f0e
fix(relay): harden lifecycle and protocol handling
2026-07-12 17:31:15 +02:00
edde746
fe8d405a56
fix(i18n): enforce complete localized coverage
2026-07-12 17:31:14 +02:00
edde746
754c54761a
refactor(downloads): consolidate task and metadata flows
2026-07-12 17:31:13 +02:00
edde746
7ecadffdb1
refactor(features): consolidate shared feature primitives
2026-07-12 17:31:13 +02:00
edde746
6506f36843
refactor(app): share client and presentation scaffolds
2026-07-12 17:31:12 +02:00
edde746
97f7508067
refactor(core): consolidate shared app foundations
2026-07-12 17:31:12 +02:00
edde746
359a6bf02a
refactor(live-tv): split optional DVR support
2026-07-12 08:42:25 +02:00
edde746
352aa04d3e
refactor(settings): share preference binding lifecycle
2026-07-12 08:42:25 +02:00
edde746
c81a1f9a97
fix(plex): tolerate malformed activity rows
2026-07-12 08:42:25 +02:00
edde746
34be331024
refactor(media): centralize HDR classification
2026-07-12 08:42:25 +02:00
edde746
5328865639
refactor(input): share gamepad key simulation
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
65d3d8e471
refactor(jellyfin): share auth and time handling
2026-07-12 08:42:22 +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
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
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
2679745941
fix: stop Jellyfin live TV sessions
...
close #1533
2026-07-11 22:00:05 +02:00
edde746
e07172ade4
fix(tvos): enable native EAC3 JOC playback
2026-07-11 12:59:57 +02:00