Navidrome Daily: Hardening the Jellyfin API Under Real Client Load
Today's merges focus on making concurrent, real-world client behavior safe — deduplicating lyrics fetches, fixing out-of-order playback reports, and stabilizing smart playlists — while the experimental Jellyfin API rounds out with lyrics support and closer version-gating.
Duration: PT2M24S
Episode overview
This episode is a short developer briefing from Navidrome Daily.
It explains recent repository work in plain language.
- Show: Navidrome Daily
- Published: 2026-07-17T10:00:37Z
- Audio duration: PT2M24S
Transcript excerpt
This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.
Good morning. It's July 17th, and today's Navidrome work has one clear throughline: real clients don't behave the way our code assumed, and this batch of fixes closes that gap.
Start with concurrency. PR 5792 tackles a production bug where apps like Finamp prefetch lyrics for several upcoming tracks at once. That burst of simultaneous requests could rate-limit the primary lyrics provider into timing out, causing a bad, low-quality result to get cached for days. Deluan's fix adds request…
The scrobbler saw the same category of bug. PR 5793 fixes out-of-order playback reports — Feishin, for instance, fires "starting" and "playing" in parallel, and a previous track's "stopped" can race the next track's start. That was corrupting now-playing sessions and confusing things like Discord Rich Presence. The…
Smart playlists got similar stability treatment. PR 5790 adds a per-playlist refresh delay, so daily or weekly mix-style playlists — which otherwise reshuffle after every song play — can stay stable for a set window. Multiple review rounds tightened edge cases around resetting evaluation state and rejecting invalid…
Meanwhile, the experimental Jellyfin API matured: PR 5791 adds a working…
W…