/about/ transfers 34MB, mostly unresized phone photos #129
Labels
No labels
autonomy
async-consult
autonomy
epic
autonomy
headless
autonomy
live-collab
burndown-2026-06
burndown-2026-08
icebox
priority
P0
priority
P1
priority
P2
priority
P3
priority
P4
role/ai
role/creator
role/design
role/director
role/engineer
role/exec
role/human
role/ops
role/qa
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
coilysiren/website#129
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found by the page-weight budget added alongside
#126, on its first run. Measured as real transfer via the Performance API in Cypress, not as file sizes on disk.The measurement
/about/is roughly fifty times the next heaviest route and four hundred times a typical post.What it is
Those are straight-off-the-phone 12 megapixel originals, displayed at a fraction of their pixel size. That is waste rather than a quality decision, and resizing to display scale is not a visual call.
The GIF is different. 8MB for 960x540 is what GIF costs for video-like content, and the fix there is a real change rather than a resize.
Three separable pieces
1. No intrinsic dimensions. Not one of the 33 images on the page carries
widthorheight. Two consequences:loading="lazy"to 32 of the 33 and the measured transfer did not move. Without reserved space every image collapses to zero height, so the whole page sits inside the browser's lazy threshold and everything loads anyway. Confirmed by measuring before and after rather than by reading the attribute.This is the cheapest fix and it is what unlocks the second one.
2. Resize the photos. Long edge down to display scale. On the five photos above that is roughly 21MB recovered with no visible change at the size they render.
3. The GIF.
project-galaxy-gen.gifat 8MB is the single largest asset on the site. Converting to MP4 or WebM inside a<video>typically costs a few hundred KB, but it changes the element and its behaviour, so it wants a deliberate decision rather than a silent swap.Why it went unnoticed
Nothing measured it. The suite asserted no render-blocking script and no third-party origin, both of which pass, and neither has anything to say about 34MB of first-party images.
The budget now in
cypress/e2e/weight.cy.tscarries/about/at 36000K, which is a record of the defect rather than a budget. Ratchet it down as this lands, and delete the entry when it reaches the 150K default.Done means
/about/carrieswidthandheightloading="lazy"verifiably defers, confirmed by the measured transfer dropping rather than by the attribute being present/about/'s entry inBUDGETSlowered to match, or removed