e9218e0a3d5e9f9496e121daf4f1d48fe9725b7d
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
Plezy
A modern Plex client for desktop and mobile. Built with Flutter for native performance and a clean interface.
More screenshots in the screenshots folder
Download
- Windows (x64, arm64)
- macOS (x64, arm64)
- Linux (x64, arm64) - .deb, .rpm, .pkg.tar.zst, and portable tar.gz available
- NixOS/Nix - Community package by @mio-19
- Homebrew (macOS):
brew tap edde746/plezy https://github.com/edde746/plezy brew install --cask plezy
Features
🔐 Authentication
- Sign in with Plex
- Automatic server discovery and smart connection selection
- Persistent sessions with auto-login
📚 Media Browsing
- Browse libraries with rich metadata
- Advanced search across all media
- Collections and playlists
🎬 Playback
- Wide codec support (HEVC, AV1, VP9, and more)
- HDR and Dolby Vision (not Linux)
- Full ASS/SSA subtitle support
- Audio and subtitle preferences synced with Plex profile
- Progress sync and resume
- Auto-play next episode
📺 Live TV & DVR
- EPG guide grid
- Channel tuning
- DVR recording rules and scheduled recordings
- Multi-server DVR support
📥 Downloads
- Download media for offline viewing
- Background downloads with queue management
👥 Watch Together
- Synchronized playback with friends
- Real-time play/pause and seek sync
Building from Source
Prerequisites
- Flutter SDK 3.8.1+
- A Plex account with server access
Setup
git clone https://github.com/edde746/plezy.git
cd plezy
flutter pub get
dart run build_runner build
flutter run
Code Generation
After modifying model classes:
dart run build_runner build --delete-conflicting-outputs
Acknowledgments
- Built with Flutter
- Designed for Plex Media Server
- Playback powered by mpv via MPVKit and libmpv-android
Languages
Dart
73.8%
GLSL
13.3%
Kotlin
4.3%
C++
2.3%
Python
1.7%
Other
4.3%



