Song art URLs (mf- ids: player bar, queue) were cache-busted only by the
song's own updatedAt, and cover responses carry a 10-year max-age — so after
an album cover upload/delete the browser kept serving the stale cached image
(including the placeholder, for previously artless albums) until the file
itself was rescanned.
Expose the album's cover_art_updated_at on song payloads via a scalar
subquery (a join would make unqualified references ambiguous — media_file
and album share column names), in both the media_file select and the
playlist tracks query, and pass it through the player queue builder so
getCoverArtUrl picks it up.