Commit Graph
100 Commits
Author SHA1 Message Date
edde746 1cdf1890cf fix: download playback issues (doubled path, audio language, spinner) 2026-02-27 15:26:49 +01:00
edde746 9e0c3e7b68 fix: improve delete-from-server button safety
Rename "Delete" to "Delete from server" with distinct icon and
always-red styling to prevent accidental server deletions.

Closes #568
2026-02-27 14:49:47 +01:00
edde746 b549432250 ci: exclude generated .g.dart files from sonar 2026-02-27 14:34:06 +01:00
edde746 b100c356fc ci: add flutter pub get to sonar workflow 2026-02-27 14:33:47 +01:00
edde746 045295b4c1 ci: add sonar project properties 2026-02-27 14:29:36 +01:00
edde746 ad9556e484 ci: add SonarQube workflow 2026-02-27 14:27:10 +01:00
edde746 7f03c15779 fix: restore FocusTheme import in libraries screen 2026-02-27 12:53:21 +01:00
edde746 cc30bee83a refactor: extract FocusableActionBar widget for reusable app bar actions
Replace duplicated focusable action button pattern across 8 screens with
a shared FocusableActionBar widget that handles focus nodes, D-pad
navigation, back key, and focus decoration automatically.
2026-02-27 11:55:19 +01:00
edde746 8559037a50 fix: logs screen d-pad navigation 2026-02-27 11:37:11 +01:00
edde746 732c09eec1 fix: cancel status stream subscription on dispose
Closes #571
2026-02-27 09:11:16 +01:00
edde746 602982d426 fix: remove low memory warnings during playback
Closes #576
2026-02-27 08:53:38 +01:00
edde746 7472e3a2f7 fix: broken imports 2026-02-26 14:57:37 +01:00
edde746 4588457319 refactor: consolidate files 2026-02-26 13:41:51 +01:00
edde746 e489a97847 fix: throttle demuxer-cache-time updates 2026-02-26 13:12:25 +01:00
edde746 2b5923d80b feat: square art in hero sections 2026-02-26 13:00:55 +01:00
edde746 5cf5b2f0a0 fix: mpv destroy/create ANR 2026-02-26 12:56:02 +01:00
edde746 a56ef0e3ca fix: throttle cache state parsing 2026-02-26 12:28:42 +01:00
edde746 8eda892b68 feat: themed splash screen with status messages 2026-02-26 11:55:45 +01:00
edde746 4b6c82b071 fix: hide alpha jump bar for small libraries 2026-02-26 11:55:45 +01:00
edde746 79350b8d71 feat: set avfoundation as preferred audio output on macOS 2026-02-26 11:55:45 +01:00
edde746 a5fa8a4c99 fix: don't clear buffer state on playback restart 2026-02-26 11:55:45 +01:00
edde746 a38aac7829 fix: artwork changing not working
- Use PUT instead of POST and singular element path (art/poster) to
  match Plex Web API behavior
- Set content type to application/octet-stream for binary uploads
- Add GestureDetector for mouse/touch tap support in artwork picker
- Always refresh detail screen metadata after returning from edit
2026-02-26 11:55:45 +01:00
edde746 414e5804eb feat: add hide spoilers setting for unwatched episodes 2026-02-26 11:55:45 +01:00
edde746 a32422bb5e chore: remove unused formatRelativeTime 2026-02-26 04:30:48 +01:00
edde746 e25fb4c10f fix: ExoPlayer resume position lost on tunneling change 2026-02-26 04:19:17 +01:00
edde746 5740d93a35 fix: download from homepage failing 2026-02-26 03:41:27 +01:00
edde746 98776b40f5 fix: show sync controls as compact top bar
close #548
2026-02-26 03:41:19 +01:00
edde746 3418241c04 fix: disable tunneling for FFmpeg-only audio codecs 2026-02-26 02:14:22 +01:00
edde746 659b59d450 fix: remove companion remote connection history 2026-02-26 01:08:46 +01:00
edde746 acf91107ad fix: split combined recently added hubs by library
closes #552
2026-02-26 00:30:23 +01:00
edde746 3279bc7578 fix: sanitize dots in download filenames
close #556
2026-02-26 00:02:14 +01:00
edde746 383351d769 fix: detect invalid tokens and prevent startup hangs
close #553
2026-02-25 23:59:19 +01:00
edde746 0f4920cc18 fix: reduce ExoPlayer buffer limits
close #546
2026-02-25 23:43:43 +01:00
edde746 3460fa8b32 fix: download retry failing with metadata cache miss
close #555
2026-02-25 23:25:10 +01:00
edde746 bf3f5282f2 fix: skip intro button staying on screen
close #550
2026-02-25 23:03:07 +01:00
edde746 c480e44e0e fix: skeleton card visibility and layout 2026-02-25 22:54:15 +01:00
edde746 728c4854a5 feat: sparse-map pagination for library browse 2026-02-25 18:14:48 +01:00
edde746 6188d21c3d perf: limit concurrent image transcode requests 2026-02-25 17:01:43 +01:00
edde746 88d7e2d319 feat: add audio passthrough toggle for desktop 2026-02-25 16:38:58 +01:00
edde746 fc5fcbb0db fix: google tv virtual remote dpad 2026-02-25 16:13:53 +01:00
edde746 93f693c5c4 fix: macos folder picker entitlement 2026-02-25 15:59:06 +01:00
edde746 aa6a5ec234 docs: update HDR platform support info 2026-02-25 15:18:39 +01:00
edde746 b193a23524 fix: video stuck on still frame after long pause
close #536
2026-02-25 08:17:14 +01:00
edde746 cb39945a9d fix: watch together clock drift
close #534
2026-02-25 07:50:17 +01:00
edde746 45e792e3ab fix: ESC exits fullscreen without closing video player
close #533
2026-02-25 07:17:24 +01:00
edde746 50660013cc fix: restore tap/click handling in folder tree view 2026-02-24 23:54:42 +01:00
edde746 e0489b68d5 fix: use theme colors in video control sheets for light mode support 2026-02-24 23:40:08 +01:00
edde746 af41d937c3 fix: remove DVR recording features (plex pass)
close #530
2026-02-24 23:13:38 +01:00
edde746 238391b886 fix: appcast single item with release notes 2026-02-24 18:07:32 +01:00
edde746 1eec3d280b fix: WinSparkle platform filtering and version display 2026-02-24 17:42:41 +01:00
edde746 2f488bd395 fix: disable ambient lighting in picture-in-picture mode
closes #528
2026-02-24 17:05:41 +01:00
edde746 d40890c344 fix: restore long press on seasons and episodes 2026-02-24 17:02:12 +01:00
edde746 eea98e0cc9 fix: pass version to installer, silent update, launch after install 2026-02-24 14:05:46 +01:00
edde746 6af3a2974e fix: CRLF in windows signature metadata, use generic os 2026-02-24 13:59:44 +01:00
edde746 da64c69724 fix: inline EdDSA pubkey as resource string 2026-02-24 13:56:38 +01:00
edde746 d044ae902c fix: CRLF in base64 key on windows CI 2026-02-24 13:30:15 +01:00
edde746 350102e3cb fix: write raw key to avoid PEM indentation issue 2026-02-24 12:50:46 +01:00
edde746 6674ee3551 fix: lightweight windows EdDSA signing in CI 2026-02-24 12:30:56 +01:00
edde746 eda7f6515e fix: override auto_updater_windows to fork with WinSparkle 0.9.2 2026-02-24 12:11:46 +01:00
edde746 145ff88ccf fix: use dart-lang/setup-dart for windows signing 2026-02-24 12:00:47 +01:00
edde746 070c8e336d feat: switch to auto_updater fork with WinSparkle 0.9.2 EdDSA 2026-02-24 11:57:34 +01:00
edde746 78049c981b fix: black screen when closing manage libraries sheet 2026-02-24 11:05:55 +01:00
edde746 490066318c fix: CI secrets condition in workflow 2026-02-24 10:16:39 +01:00
edde746 4083837c3b feat: still watching prompt on sleep timer expiry 2026-02-24 10:08:50 +01:00
edde746 3fc1540f41 feat: make companion remote dialog use focusablebutton 2026-02-24 04:56:33 +01:00
edde746 403df31907 feat: native auto-update
close #521
2026-02-24 04:04:02 +01:00
edde746 d1d5b808bb fix: reduce widget tree depth 2026-02-24 02:40:04 +01:00
edde746 9528b8f61a feat: multi-IP QR code for companion remote 2026-02-24 02:31:24 +01:00
edde746 2276750704 fix: memory-aware buffer limits 2026-02-24 00:56:09 +01:00
edde746 a1a030a130 fix: create render context before file load 2026-02-24 00:07:09 +01:00
edde746 3d9c6b203f fix: isolated EGL context for mpv rendering 2026-02-23 18:20:08 +01:00
edde746 e23f472d78 refactor: centralize globalKey construction via buildGlobalKey() 2026-02-23 17:53:20 +01:00
edde746 ef2c464dd4 fix: GL proc address detection 2026-02-23 17:48:42 +01:00
edde746 778ac50116 perf: fast offline startup
close #511
2026-02-23 14:09:13 +01:00
edde746 8f50da4a75 fix: resolve all dart analyze warnings
- Migrate RadioListTile to RadioGroup API (Flutter 3.32+)
- Guard BuildContext usage across async gaps
- Use const BorderRadius.all / EdgeInsets.all constructors
- Extract nested ternaries into helpers
- Prefer .first over [0], ??= over if-null assignment
- Prefix unused FocusNode params with _
- Add library directive for dangling doc comments
2026-02-23 13:50:56 +01:00
edde746 8918bdc93e fix: add OverlaySheetHost to desktop/TV navigation path 2026-02-23 13:11:11 +01:00
edde746 a599920ab4 fix: overlay sheet theme and scope on mobile 2026-02-23 13:00:42 +01:00
edde746 4095cc27e1 perf: reduce redundant metadata API requests 2026-02-23 11:43:42 +01:00
edde746 1eb88e23f5 perf: cache-first metadata fetching for playback 2026-02-23 10:51:25 +01:00
edde746 edbe2a06be refactor: deduplicate sheet, key handler, and service patterns 2026-02-23 10:25:57 +01:00
edde746 964b89aa67 fix(windows): release gamepad handles on window blur 2026-02-23 08:05:55 +01:00
edde746 3670383fde fix(desktop): profile switch on every window focus
close #517
2026-02-23 06:36:49 +01:00
edde746 26ff55e005 fix(android): auto buffer size to prevent OOM 2026-02-23 05:42:04 +01:00
edde746 6916b386eb fix(android): SurfaceControl crash on player dispose 2026-02-23 05:28:10 +01:00
edde746 1860a1cea6 feat: dpadnavigation for folder tree view
close #513
2026-02-23 03:42:07 +01:00
edde746 7802beb41b feat: play/shuffle folder contents
close #514
2026-02-23 02:19:57 +01:00
edde746 4eb55885f7 feat: metadata editing
close #338
2026-02-22 17:56:13 +01:00
edde746 03fc1c1109 fix: auto-focus first content item on settings screens in dpad mode 2026-02-22 15:58:10 +01:00
edde746 d709d638c7 fix: use dpad controls for settings dialogs in keyboard nav mode 2026-02-22 15:20:16 +01:00
edde746 7f8d4c7946 fix: dpad focus for dialogs and buttons 2026-02-22 14:50:59 +01:00
edde746 1536feb034 fix: dpad focus on pushed screens
close #510
2026-02-22 11:46:47 +01:00
edde746 83c0cce7f3 fix: ignore gamepad input when window is unfocused
close #509
2026-02-22 10:29:52 +01:00
edde746 389a4dcc25 fix: android debug info path 2026-02-22 05:42:30 +01:00
edde746 3289ce0fbc feat: fallback skip markers from chapter titles 2026-02-22 04:34:36 +01:00
edde746 8ef0d2e25c feat: retard proof QR code 2026-02-21 10:35:48 +01:00
edde746 c4a51e0fb9 fix: persist debug symbols for symbolication 2026-02-21 05:45:16 +01:00
edde746 9819c4f495 fix: move hub/onDeck API processing to isolates 2026-02-21 05:34:06 +01:00
edde746 1ebc2a85d1 fix: move cache JSON ops to isolates 2026-02-21 05:00:14 +01:00
edde746 0159c18497 feat: discontinuous buffer ranges on timeline 2026-02-21 04:50:10 +01:00
edde746 0b1b18fd35 fix: macOS playback power management 2026-02-21 01:32:17 +01:00