- Shipped
- September 24, 2026 at 10:55 PM UTC
- Author
- Kamo
- Commit
- 05769de
Transactional emails only inlined a logo when the original was an SVG under 512 KB. A PNG logo org's email linked the whole upload instead — crm's 2.2 MB logo-full.png for a header drawn at most 48px tall. - EmailTemplateService asks EmailLogoService for the pre-sized PNGs SecurityService now cuts beside every logo (img/sized/logo-full/h96.png for the 48px header, img/sized/logo/h64.png for the 28px footer mark), inlined as cid: parts and cached 10 min. Per logo, the old path (rasterize the original SVG, else link it) remains the fallback while an org's copies do not exist yet. - **************** takes ?h=: a PNG/JPEG badge taller than the requested height (snapped up to 32/48/64/96/128) is scaled down with area averaging and cached in-process; GIF/WebP/SVG, short badges and any failure get the stored bytes, so every URL in mail already sent is unchanged.
