Commit Graph
1109 Commits
Author SHA1 Message Date
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
Matt Vogel 6eeb484c30 Pass persistent client UUID through auth screen login path
The auth screen was calling connectAndInitialize without a clientIdentifier,
causing MultiServerManager to fall back to a throwaway timestamp ID for all
probe requests during first login. This meant Plex registered a new device on
every login, not just the first ever install.
2026-02-26 08:21:06 -05:00
Matt Vogel e9218e0a3d Fix duplicate Plex notifications and Flutter app name on login
Connection probe requests in testConnectionWithLatency were sent without
X-Plex-Client-Identifier, X-Plex-Product, or X-Plex-Device-Name headers.
Plex treated each anonymous probe as a new unknown device and fired a
"New Device" notification for every server tested (one per shared/owned
server), while displaying "Flutter" as the device name from the HTTP
user-agent.

Pass clientIdentifier through findBestWorkingConnection and all connection
test helpers so every probe request identifies itself as "Plezy" with the
persistent client UUID. This prevents spurious notifications and ensures
the device shows the correct app name in Plex's device list.

https://claude.ai/code/session_01V5VraujkNmk5GGPLyZ33fN
2026-02-26 08:21:06 -05: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
github-actions[bot] cbf9913e8a chore: update cask to 1.21.3 2026-02-26 04:10:17 +00:00
github-actions[bot] 8f24bd478a chore: bump version to 1.21.3 2026-02-26 03:32:43 +00: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
github-actions[bot] 4f4192b261 chore: update cask to 1.21.2 2026-02-25 09:03:19 +00:00
github-actions[bot] cb6da03c10 chore: bump version to 1.21.2 2026-02-25 08:24:36 +00: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
Micah Morrison 8acb777f65 Allow episode descriptions to be expanded 2026-02-24 21:58:35 -05: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