From 8fcb43f279c6e6d4c6977781d52a1fd0231e7650 Mon Sep 17 00:00:00 2001 From: DannyDannyDanny Date: Sun, 24 May 2026 10:35:07 +0200 Subject: [PATCH] sunken-ship: navidrome Scanner.PurgeMissing = missing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Stops `missing=1` rows accumulating in media_file. After Phase 7 dedupe, Navidrome's watcher minted ~4k track IDs for files briefly present in /home/danny/music/.mulbo-quarantine; after rm -rf'ing the quarantine, those rows stayed flagged-missing forever — and Substreamer's cached queue then hit 500s on every play attempt ("Internal Server Error: open /srv/music/.mulbo-quarantine/...: no such file or directory"). Cleaned the 4135 quarantine rows manually via SQL; this config prevents recurrence. Trade-off: missing rows used to preserve play-history across "file disappeared, came back" cycles. We prefer client-cache hygiene. Co-Authored-By: Claude Opus 4.7 (1M context) --- nixos/hosts/sunken-ship.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/hosts/sunken-ship.nix b/nixos/hosts/sunken-ship.nix index f25a4c4..f6faa05 100644 --- a/nixos/hosts/sunken-ship.nix +++ b/nixos/hosts/sunken-ship.nix @@ -110,6 +110,12 @@ Address = "0.0.0.0"; Port = 4533; MusicFolder = "/srv/music"; + # Auto-delete `missing=1` rows during scan so transient files + # (e.g. mulbo dedupe quarantine ones) don't accumulate as stale + # track IDs that Substreamer caches and then 500s on. Without + # this, Navidrome keeps missing rows forever (default behaviour + # preserves play history; we trade that for client-cache hygiene). + Scanner.PurgeMissing = "missing"; }; };