mirror of
https://github.com/navidrome/navidrome.git
synced 2026-08-01 07:21:17 +00:00
The read-side artwork version may over-approximate the served sources (folder parents for disc layouts), which with omission semantics suppresses a perfectly valid stored hash. At persist time the hash is fresh for the served bytes by construction, so the write now loads the entity and clamps blur_hash_updated_at up to its current ArtworkUpdatedAt: after any serve the DTO accepts the stored hash, and every omission window closes regardless of read-side precision. The in-memory state shrinks to a pure decode cache (checksum -> hash); staleness decisions moved to the row read, which also lets a drifted stored value be restored from the served bytes.