Commit Graph
100 Commits
Author SHA1 Message Date
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 a244d249bd fix(detail): stop cropping the hero backdrop on wide windows
close #1588
2026-07-16 16:00:30 +02:00
edde746 ac9a5914a2 fix(plex): handle malformed lyrics XML 2026-07-16 14:36:48 +02:00
edde746 b7cd4e5e9c fix(music): preserve Jellyfin collection posters 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 517c3f57ce fix(music): keep collection and playlist artwork square 2026-07-16 12:37:02 +02:00
edde746 d253450e9d fix(plex): show all artist releases
close #1577
2026-07-15 08:49:06 +02:00
edde746 fa901be328 fix(e2e): run emulator suites through Python 2026-07-15 08:25:55 +02:00
edde746 74cae73844 fix(ci): restore Dart formatting gate 2026-07-15 08:25:42 +02:00
edde746 0bcd00bcb6 ci: harden privileged workflow trust boundaries 2026-07-15 07:57:42 +02:00
edde746 54a4b8e414 refactor(mpv): move common code to shared 2026-07-15 07:57:02 +02:00
edde746 87c0547090 ci: harden pull request workflows 2026-07-15 07:15:34 +02:00
edde746 9471e30585 ci(test): consolidate Maestro workflow setup 2026-07-15 06:58:22 +02:00
edde746 ea4bd21977 fix(tv): refresh retained spotlight metadata 2026-07-15 06:40:59 +02:00
edde746 3168f6327f fix(tv): make select activation one-shot 2026-07-15 06:40:47 +02:00
edde746 139cf83507 feat(test): add Maestro end-to-end coverage 2026-07-15 06:40:35 +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 30c978719b fix(ci): update actions for Node 24 2026-07-14 07:23:16 +02:00
edde746 12eb9b71b6 fix(ci): disable crashing analyzer plugin 2026-07-14 07:23:16 +02:00
edde746 0cb19a4e30 feat(website): adopt expressive material design 2026-07-14 07:19:46 +02:00
edde746 991aee6c90 fix(ci): resolve analyzer and settings test failures 2026-07-14 01:21:38 +02:00
edde746 cbb0a01c5f fix(release): create untagged build drafts 2026-07-14 00:33:12 +02:00
edde746 d86e820a16 fix(android): trust user-installed CAs 2026-07-14 00:24:54 +02:00
edde746 1bdd76d95a fix(plex): wait for shared server resource tokens 2026-07-14 00:15:46 +02:00
edde746 0a3e9d9e89 build(apple): bump MPVKit to 1.0.13 2026-07-13 23:37:30 +02:00
edde746 a0013323f2 chore(ui): enforce icon consistency 2026-07-13 23:13:53 +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 d6ad6a9506 fix(settings): align mobile option typography 2026-07-13 22:14:27 +02:00
edde746 7400a10c59 fix(release): prevent published asset replacement 2026-07-13 21:48:44 +02:00
edde746 dfeffad044 fix(windows): forward touch input over video 2026-07-13 18:48:58 +02:00
edde746 40792e2779 fix: restore focus and interaction behavior 2026-07-13 17:00:50 +02:00
edde746 822657972d fix(android): enforce minSdk compatibility 2026-07-13 17:00:50 +02:00
edde746 ae71b7bc64 fix(android): guard API 29 codec query
close #1553
2026-07-13 17:00:49 +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 e4db04fa62 fix: align UI focus and sheet behavior 2026-07-13 11:28:32 +02:00
edde746 e6e7d8cdfd test: remove redundant coverage and shorten timers 2026-07-13 02:15:03 +02:00
edde746 8210b23d31 fix(ci): set explicit release tag 2026-07-13 01:42:41 +02:00
edde746 e03edad824 fix: prevent async state and platform regressions 2026-07-13 00:03:52 +02:00
edde746 26d14f7cb0 fix(seerr): align request button focus 2026-07-12 22:19:42 +02:00
edde746 b9f828ae88 refactor(livetv): reuse standard hub cards 2026-07-12 22:11:30 +02:00
edde746 098a472670 fix(catalog): restore TV focus navigation 2026-07-12 21:42:27 +02:00
edde746 780a1ea180 fix(ci): restore analyzer and unit checks 2026-07-12 19:55:24 +02:00
edde746 917f6a2839 fix: guard lifecycle-bound state updates 2026-07-12 19:00:28 +02:00
edde746 2101f1d7f0 perf: isolate focus and media rebuilds 2026-07-12 19:00:11 +02:00
edde746 a561777456 perf: reduce state notification fan-out 2026-07-12 18:59:58 +02:00
edde746 b4575c9780 fix: preserve live TV state across refreshes 2026-07-12 18:59:42 +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 858952929b fix(deps): refresh and document native dependencies 2026-07-12 17:31:16 +02:00
edde746 b676ef6c56 refactor(android): harden and share player integration 2026-07-12 17:31:15 +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 a481fc1000 refactor(dialogs): unify text input contract 2026-07-12 08:42:26 +02:00
edde746 b7078448ea refactor(mpv): unify property decoding 2026-07-12 08:42:26 +02:00
edde746 359a6bf02a refactor(live-tv): split optional DVR support 2026-07-12 08:42:25 +02:00
edde746 a5449a1430 refactor(ci): matrix architecture builds 2026-07-12 08:42:25 +02:00
edde746 6182c34448 perf(playlists): bound card inflation 2026-07-12 08:42:25 +02:00
edde746 699e73bcd5 fix(downloads): propagate hierarchical watch state 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 ceae98b75f refactor(paging): share continuation loading 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 f78089edf8 refactor(input): share D-pad long press state 2026-07-12 08:42:24 +02:00
edde746 c0d8951677 fix(release): centralize pubspec version parsing 2026-07-12 08:42:24 +02:00
edde746 2e830d3f97 refactor(database): share watch action queries 2026-07-12 08:42:24 +02:00
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 eaa60cc2b5 fix(release): resolve package tags once 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 7ed342b345 refactor(watch-together): centralize participant lookup 2026-07-12 08:42:21 +02:00