What's fixed
- The Libraries page now loads item totals with lightweight Jellyfin count requests instead of scanning every movie, episode, song, and video. Large servers no longer lose a library card when a refresh times out.
- It keeps every discovered library visible and preserves the last complete cache when Jellyfin returns only partial data. Recorded plays, playback time, and last activity remain available. Exact whole-library runtime and storage figures were removed because Jellyfin cannot provide them cheaply enough for this page.
- The installed Chrome PWA on Android now keeps Recently Added above the gesture bar after moving between pages. Normal browser tabs keep their existing viewport behavior.
- Now Playing skips overlapping five-second refreshes, so a slow older response cannot replace newer session data.
- A failed active History write no longer prevents notification checks from running during that poll.
- MariaDB connections now use
utf8mb4, so names and text containing emoji are stored correctly. - Unicode initials work correctly across Now Playing, History, and Statistics.
- Library activity now says
1 minute agoinstead ofminutes, and long History CSV exports keep one fixed time boundary across every batch.
The repository README also has an optional Buy Me a Coffee link for anyone who wants to support Jellydash.
No database migration or settings changes are required.
Update
docker compose pull && docker compose up -d