536ca2085fab1b2dc9ea2d563d82a658bf680dcb
Banners/cards used cropResize (fit-inside), so a portrait fallback source was handed back as a narrow sliver that object-fit:cover then upscaled into a blur (reported on us-canada-mex-2024). Switch to cropZoom (crop-to-fill) so the derivative is a real w×h cover strip. Emit the 2x srcset descriptor only when the source is genuinely >=2w wide (cover.width >= 2w), else 1x-only — no upscaling, no odd intermediate widths. Imported pixelfed photos cap at ~1440px wide, so auto-picked covers are usually 1x-only (see backlog: full-res reimport). Also drop the no-photos-demo test fixture — it surfaced as stray demo content in the trip list; AE4 (no cover + no images -> no banner) is a trivial else-branch of the shared macro's cover guard, covered by construction alongside the R7/AE3 fallback tests. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RDS6t8wcpbwKvvrxykVQ5K
Description
No description provided
370 MiB
Languages
JavaScript
80.5%
CSS
12.2%
SCSS
3.2%
Twig
2.6%
PHP
1.5%