Navidrome Daily: Playlist Sync Bug Squashed

A fix in PR #5977 chunks playlist track deletions to avoid a SQLite variable limit crash that was silently duplicating tracks in large synced playlists. A routine dependency update rounded out the day's changes.

Duration: PT2M7S

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-18T10:00:52Z
  • Audio duration: PT2M7S

Transcript excerpt

This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.

Good evening, it's August 18th, 2026, and this is Navidrome Daily.

Today's headline: a quiet but consequential fix to how Navidrome deletes playlist tracks, closing a gap that's been inconsistent with the rest of the codebase for some time.

Here's the issue. When clients sync a large playlist, the standard pattern is to add the tracks you want and then delete the ones you don't. The delete operation built a single database query with one parameter per track. Push past SQLite's compiled limit of just over 32,000 variables, and that query fails outright…

What makes this notable is that it was the outlier. Deluan's PR #5977, tied to issue 1368, points out that every other bulk operation in the persistence layer already chunks its work. Adding tracks chunks at 200. The play queue repository chunks at 500. The folder repository chunks at 100 or 200. Deletes were the…

The takeaway for anyone touching persistence code: chunking bulk operations isn't a style preference here, it's a hard requirement enforced by SQLite's variable ceiling, and this fix closes the last unguarded path.

Separately, commit 4c0ab07 updated Go module dependencies to their latest versions. Routine maintenance, no…

Nearby episodes from Navidrome Daily

  1. Taming the Artwork Backfill
  2. When Output Doesn't Match What You Promised
  3. Data Integrity Meets Client Compatibility
  4. Trust the Stored State
  5. Chasing Down Stale Data
  6. Weekly Recap - Diagnostics, Performance, and Playback Expansion
  7. The Scanner Gets Its Corners Cleaned
  8. Making Artwork Failures Explainable