pastilhasandClaude Opus 4.8 2540c9f5d3 music: fix stale cover/meta on the clients (cache revalidation) + purge removed covers
Two problems behind "deleted/changed the folder image but it still shows" (on
both web and app):

1. Client caching. Cover/meta/etc. were served with an ETag(=v) but NO
   Cache-Control, so browsers served them straight from the heuristic cache at
   the same URL — a changed cover kept showing the old image. And the platform
   proxy never forwarded If-None-Match, so the ETag revalidation couldn't work
   anyway. Now the sidecar sends `Cache-Control: no-cache` on every version-
   stamped artifact (cover/meta/poster/lyrics/image) + the manifest, and the
   proxy forwards If-None-Match → the client revalidates every time and gets a
   cheap 304 when unchanged, a fresh 200 when v changed.

2. Removed covers lingered. On rebuild the indexer only (over)wrote cover.jpg
   when a source cover existed — a deleted or now-undecodable source left the
   old cover.jpg in the cache (still served, still cover:true). Now it clears
   cover.jpg first and regenerates only if there's a valid source.

Verified live against a booted sidecar: cover carries no-cache + ETag, a
matching If-None-Match → 304, and deleting the source folder.jpg drops the
cached cover (404, meta.cover cleared, manifest cover:false).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-28 14:51:54 +00:00
2026-02-16 19:34:35 +00:00
2026-02-16 19:34:35 +00:00
2026-02-16 19:34:35 +00:00
2026-07-25 23:30:20 +01:00
2026-02-16 19:34:35 +00:00
2026-02-16 19:34:35 +00:00
2026-02-16 19:34:35 +00:00
2026-02-16 19:34:35 +00:00
2026-02-22 03:35:26 +00:00
2026-02-22 16:49:30 +00:00
2026-02-16 19:34:35 +00:00
2026-02-20 12:35:47 +00:00
2026-02-22 16:49:30 +00:00
2026-02-22 16:49:30 +00:00
2026-02-20 12:35:47 +00:00
2026-02-16 19:34:35 +00:00
2026-02-25 16:04:11 +00:00
2026-02-16 19:34:35 +00:00
S
Description
No description provided
42 MiB
Languages
TypeScript 90.9%
Shell 4.7%
JavaScript 4.1%
CSS 0.2%
HTML 0.1%