Self-audit catch: my earlier cover-art commit claimed 'the frontend's <img onerror> fallback handles 404s' — that was wrong. The enhanced search result images in shared-helpers.js renderCompactSection and all five gsearch-item/track templates in downloads.js render bare `<img src="...">` with no fallback. With the MusicBrainz adapter now emitting Cover Art Archive URLs deterministically (no HEAD probe), albums that don't have cover art would show the browser's broken-image icon instead of the emoji placeholder. Two fallback shapes: - shared-helpers.js renderCompactSection: the `<img>` sits inside a card with a sibling placeholder pattern. On error, replace the img's outerHTML with the placeholder div, matching the shape used when config.image is missing entirely. - downloads.js gsearch items: the `<img>` sits inside a `.gsearch-item-art` div whose default text content is the emoji fallback (🎤 / 💿 / 🎶 / 🎵). On error, set parentElement.textContent to the emoji, which wipes the img and shows the glyph. Same shape as the "no image_url" branch. Applies to every card type that renders a user-provided image URL so the fix covers all sources that might return 404s — MB is the most common offender but iTunes/Deezer/Discogs can all miss too. Tested against the live MB API: Metallica albums without CAA cover art now show the 💿 emoji instead of a broken-image icon. |
||
|---|---|---|
| .. | ||
| static | ||
| index.html | ||