Part of epic #491. Review nit (B4) on apps/client/src/features/watchlist/components/watchlist-card.tsx:53.
Problem
Old code guarded with Boolean(item.clearLogo) before rendering MediaCardClearLogo. New code drops guard — item.clearLogo is string | undefined, component always renders.
If MediaCardClearLogo passes src straight to <img>, src={undefined} serialises to src="" in DOM → browser fires request to current page URL for every logoless wide card (one broken-image request per Tonight / MoodCluster hero + alternates).
Fix
{isWide && item.clearLogo ? (
<MediaCardClearLogo src={item.clearLogo} text={item.title} />
) : null}
Or verify MediaCardClearLogo contract handles falsy src safely before keeping the unguarded render.
Acceptance criteria
Part of epic #491. Review nit (B4) on
apps/client/src/features/watchlist/components/watchlist-card.tsx:53.Problem
Old code guarded with
Boolean(item.clearLogo)before renderingMediaCardClearLogo. New code drops guard —item.clearLogoisstring | undefined, component always renders.If
MediaCardClearLogopassessrcstraight to<img>,src={undefined}serialises tosrc=""in DOM → browser fires request to current page URL for every logoless wide card (one broken-image request per Tonight / MoodCluster hero + alternates).Fix
Or verify
MediaCardClearLogocontract handles falsysrcsafely before keeping the unguarded render.Acceptance criteria
<img src="">requests emitted in network panel on/watchlistfor logoless cards.clearLogodoes not renderMediaCardClearLogo(or component renders safely without<img>request).vp check+vp testpass.