Navidrome Daily: When Output Doesn't Match What You Promised
Today's fixes share a common thread — code that declared one thing but delivered another, from mislabeled audio streams to stderr masquerading as stdout, plus a pipeline rebuilt to survive rate limits and version drift.
Duration: PT2M32S
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-08-21T10:01:01Z
- Audio duration: PT2M32S
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 August 21st, 2026, and this is Navidrome Daily.
The clearest pattern in today's activity: several fixes address code that claimed to do one thing while actually doing another, breaking clients and scripts that trusted the interface.
Start with PR 5998. The server transcodes AAC audio as raw ADTS, but its MIME table told clients it was sending an MP4 container. Any client that trusts the declared content type over the actual bytes would refuse to play the stream. That's a silent failure mode — nothing crashes, playback just doesn't happen.
The same category of bug hit the command line. PR 5996, merged by Deluan, found that `pls -p` used Go's built-in println, which writes to standard error, not standard output. Piping playlist output to a file produced an empty file while the actual playlist scrolled by in the logs. The fix also caught a stray blank…
Documentation got the same treatment. PR 6001 clarifies that a metadata agent plugin should return an empty response, not an error, when it simply has no data for an item. Undocumented, that distinction caused a real plugin to error on every miss, which kept flooding the artwork retry queue and tripping the circuit…
Secon…