edde746
9f81671603
fix: suppress repeated android log spam from MPV surface and stats polling
...
- Deduplicate android-surface-size updates with lastSurfaceSize cache
- Short-circuit ensureFlutterOverlayOnTop after initial application
- Remove deprecated cache-used property query
- Skip unavailable MPV properties on Android (display-fps, HDR metadata)
- Gate video-dependent stats queries behind hasVideo check
2026-02-28 15:00:29 +01:00
edde746
15e1f0b9e2
fix: use mediacodec on android
...
close #593
2026-02-28 12:35:43 +01:00
edde746
08399e5d37
feat: respect server collection mode in library browse
...
close #580
2026-02-28 07:06:48 +01:00
edde746
48c9dcae1b
fix: apply hide spoilers setting to hero section
...
close #588
2026-02-28 06:18:11 +01:00
Micah Morrison
5986ac6c79
Adjust expander pill alignment with text when small
2026-02-27 22:40:24 -05:00
Micah Morrison
c02f84dba0
Merge remote-tracking branch 'upstream/main' into feature/expand-episodes
2026-02-27 16:47:51 -05:00
edde746
a6119414ca
Merge branch 'fix-plex-notifications'
2026-02-27 22:20:12 +01:00
edde746
4929e7d42b
fix: hardcode app name in connection probe headers
2026-02-27 22:19:24 +01:00
edde746
18614022c0
feat: auto-dismiss skip segment buttons
...
closes #584
2026-02-27 22:13:03 +01:00
edde746
389a9622c3
fix: prevent OOM crash from infinite focus reclaim loop
...
Add re-entrancy guard to VideoPlayerScreen._onScreenFocusChanged()
and replace busy-wait spin loop with Completer in MediaDetailScreen.
2026-02-27 21:23:31 +01:00
edde746
3103cb5ee1
fix: harden offline playback and exoplayer fallback
2026-02-27 21:02:30 +01:00
edde746
7a0a911cd9
fix: prevent ASS subtitle stretching
...
close #579
2026-02-27 20:33:48 +01:00
edde746
03d62d2e2b
fix: handle corrupted download paths missing leading slash
2026-02-27 19:05:05 +01:00
edde746
5ff5441baa
fix: map ssa subtitle codec to .ass extension
...
close #569
2026-02-27 16:51:49 +01:00
edde746
00667fe8b8
fix: add const constructors and remove unused imports
2026-02-27 15:43:34 +01:00
edde746
ab2f8cf6ff
fix: normalize corrupted download paths on startup
2026-02-27 15:43:34 +01:00
edde746
edb285a279
feat: cache BIF file for instant preview thumbnails
...
close #565
2026-02-27 15:30:29 +01:00
edde746
11377362cb
fix: duplicate hero tag error in logs upload dialog
2026-02-27 15:26:49 +01:00
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
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
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
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
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
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
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