This pre-release mostly consists of UI/UX feedback work as well as filling in
gaps between this client and jellyfin-web. It also gains Jellyfin v12 compatability
by dropping api_key from URLs in favor of header-based auth everywhere.
Major Additions
- View settings can be customized per-library.
- Banners, logos, list view, etc are supported.
- Synced with jf-web.
- Added screens to match jf-web: Favorites, Genres, and Networks
- Home screen and other carousels now have clickable headings to browse all the items on a new page.
- Added play buttons to tiles, like web has saving you a pagenav to play something.
- Added photo album support and improved mixed media UI for home videos.
Improvements
- Scrolling is continuous again by default, it only snaps when the renderer starts missing render dealines.
- Added a Play All option to some libraries which didn't already have them.
- Added support for Commercial, Preview, and Recap skipping.
- Skip Intro and Skip Credits now work on downloadeds, previously they didn't even when internet access was available.
- Requires re-downloading of existing items.
- Episode backdrops are now used on the home screen for continue/next-up to avoid spoilers. (Configurable)
- More adjustment for Jellyfin OSC appearance and auto-hide duration. (#620)
- "No player controls" added as player OSC option, replaces
enable_osc. (#615) - Mouse back/forward buttons can be used for chapter navigation. (#614, disabled by default.)
- Mouse back/forward buttons now navigate like a web browser does in the library.
- Right click the back button (or home on the home page) to jump or go forward.
- Cast controls are now more usable, with hamburger added for context menu and search added.
- Added "Date Episode Added" sort option to TV libraries.
- The app uses the
Authorizationheader for everything now, gaining Jellyfin v12 compatability without enabling legacy auth. - The home page now updates when videos are watched or progress is made on other clients.
- Artwork rendering now uses the same heuristics as jf-web to set defaults.
- PGUP/PGDWN/HOME/END scroll the UI now.
- The application now has end-to-end tests that can automatically test the UI against a real Jellyfin server.
- Test uses a fake library generator and a fake tv source to automatically bring up a Jellyfin server for testing.
Bug fixed from last release
- Improved library browsing performance for thumbnail rendering, home page drilldowns, genres, and instant mix.
- Fixed issue where skipping one chapter back skips to the next episode in some cases.
- Fixed scrollbar losing position when new items are loaded. (#617)
- Made trickplay more performant (#618)
- Made hover bubble when trickplay is disabled centered properly (#612)
- Fixed zero duration bubble for durationless content (#618)
- Removed subtitle offset during HUD hover that only applied to SRT subtitles.
- Fixed issue where keyboard nav could get disabled after video playback.
- Fixed mpv console being unusable due to default ENTER to activate UI keybind.
- Fixed possible crash from trickplay and mpv restart contention.
- Fixed issue where HDR->SDR change isn't processed outside of playback screen.
- Fixed issue where stopping playback could hold the player until the session stop finished.
- Fixed request spam during backdrop displaying window resizes. (#592)
- Removed transcode warning text that displayed under HUD.
- Fixed chapter markers not responding to scaling (#620)
- Fix issue where text can overflow on certain DPI scaling settings.
- Fix issue where nebula selections outlines could overflow with the top UI bar.
- Use css-cover style placement for posters on all themes, not just nebula.
- Hide syncplay and Live TV DVR when their respective permission checks fail.
To install on Linux, install via pip:
pip install --pre --upgrade jellyfin-mpv-shim[all]
Or via the attached flatpak file:
flatpak install --user --bundle jellyfin-mpv-shim_v3.0.0pre11_amd64.flatpak
Development was assisted using AI.