Commit Graph
34 Commits
Author SHA1 Message Date
edde746 3da51f9d64 chore: pre-commit ci hook, dart format 2026-04-18 12:40:35 +02:00
edde746 15b22f75a8 refactor: replace dio with package:http 2026-04-08 00:43:08 +02:00
edde746 7528dcec71 fix: connection selection failover and timeout budget 2026-04-07 06:49:51 +02:00
edde746 7150ea2987 fix: log reason for https upgrade failure 2026-04-07 05:48:44 +02:00
edde746 bc2febf480 fix: prefer https endpoints, catch h2 protocol errors 2026-04-07 05:48:44 +02:00
edde746 52b8944d71 feat: use HTTP/2 for all network requests 2026-04-06 22:53:13 +02:00
edde746 f3c735e3a1 fix: remove Docker bridge IP filter 2026-03-09 17:35:28 +01:00
edde746 a6119414ca Merge branch 'fix-plex-notifications' 2026-02-27 22:20:12 +01:00
edde746 00667fe8b8 fix: add const constructors and remove unused imports 2026-02-27 15:43:34 +01: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 778ac50116 perf: fast offline startup
close #511
2026-02-23 14:09:13 +01:00
edde746 8aa7d15dca chore: upgrade dependencies and fix new lint warnings 2026-02-09 09:06:31 +01:00
edde746 3459c9f59d chore: format 2026-02-08 16:03:40 +01:00
edde746 0c44a35eb8 feat: log raw API connections 2026-02-08 03:54:22 +01:00
edde746 747fee0889 feat: log uploading 2026-02-07 20:09:30 +01:00
edde746 d3c7b55213 refactor: simplify server connection logic 2026-01-28 04:23:27 +01:00
edde746 3c039ad69c fix: failover storm during network loss 2026-01-28 04:03:43 +01:00
edde746 33e977872e fix: consume full connection stream and upgrade to HTTPS early 2026-01-27 17:45:10 +01:00
edde746 3c89d0eba8 refactor: update formatting 2025-12-15 02:29:03 +01:00
edde746 8f817815e6 refactor: simplify file structure 2025-12-04 08:36:07 +01:00
edde746 37b0cf65b2 fix: https required servers issue 2025-11-18 20:47:31 +01:00
edde746 f14ed7d762 chore: format 2025-11-15 04:08:57 +01:00
edde746 e6b699c976 fix: better connection selection 2025-11-15 00:42:45 +01:00
Doezer 3366ed02f5 Ran dart format using this pwsh command
$FILES = Get-ChildItem -Path lib, test -Recurse -Filter "*.dart" -File -ErrorAction SilentlyContinue | Where-Object { $_.Name -notmatch '\.(g|freezed)\.dart$' } | Select-Object -ExpandProperty FullName; if (-not $FILES) { Write-Host "No Dart files found to format"; exit 0 } else { dart format --output=write --set-exit-if-changed $FILES }
2025-11-13 22:53:31 +01:00
edde746 a607904a35 fix: better server selector errors 2025-11-09 21:24:44 +01:00
edde746 e4e7911573 fix: try http connections 2025-11-06 03:58:50 +01:00
edde746 d586c8c067 fix: allow connections to local only servers 2025-11-04 09:07:04 +01:00
edde746 781aa4640e fix: support pin protected profiles 2025-11-04 04:44:22 +01:00
edde746 36b897f963 feat: profiles 2025-10-30 19:50:50 +01:00
edde746 a5063a662e refactor: remove dead code 2025-10-29 14:04:39 +01:00
edde746 12ee134191 refactor: deduplicate 2025-10-28 10:06:29 +01:00
edde746 abd5900290 perf(auth): better connection choice 2025-10-28 07:59:16 +01:00
edde746 3ad3876474 feat: auto close login browser 2025-10-25 16:31:36 +02:00
edde746 a6effe208b squash 2025-10-22 12:45:29 +02:00