- Shipped
- September 7, 2026 at 6:54 AM UTC
- Author
- Kamo
- Commit
- 04e10a4
An owner had no way to know how much of their plan's storage they had spent without opening a settings tab they had no reason to open. The bar that told them lived on /settings/account, behind a tab, on a page about costs — which is to say it told the people who had already gone looking. A liquid capsule in the launchpad's pill row, immediately left of My Widgets. It fills from empty on mount, the digits count with it, and a sheen travels the fill so it reads as a level rather than a rectangle. Hairline ticks sit at 70% and 95% so the bands are legible BEFORE you are in one. WHAT IT COSTS THE PAGE Nothing. The figures ride the entitlements payload the launchpad already fetches — one request per tab, shared by eleven consumers, cached fifteen minutes in Redis. The flyout's breakdown and sparkline are fetched only when it opens, and from /storage/history, which reads the snapshot table; /storage/summary sums nineteen live domains and has no business behind a hover. One folded history payload draws both, so the last point of the line and the total of the bars are the same measurement and cannot disagree. GREEN IS WIDE ON PURPOSE StorageUsagePanel already carries the reason — "a bar that is amber at 60% teaches people to ignore it" — and a meter every owner sees every day has far more to lose from crying wolf. Above 95% the pill turns red, grows a pulsing aura, marches hazard stripes and shudders once every six seconds. Six, not continuous: a thing that moves all the time is read as decoration and tuned out within a minute, and this has to still work on the day it matters. 95% is not a taste judgement either — it is StorageQuota.AUTO_EXPAND_AT, the point the platform itself considers the org out of room, so the meter going red and the system acting are one threshold rather than two that can drift. THE THREE WAYS THERE IS NOTHING HONEST TO DRAW, all of which render as 100% on a naive used/capacity: no payload (not an owner); no snapshot yet, where usage is zero because nobody has looked; and a capacity of zero on a plan that is not unlimited, which is far more likely a catalog row missing its STORAGE feature than a real allowance of none. A launchpad siren caused by a catalog gap is the worst version of this bug, because nothing the owner does will clear it. Each gets its own state. Band colours are fixed rather than mixed from --color-primary. "You are about to run out" is a traffic light, not a brand statement, and an org whose primary is red would wear a permanent alarm. Under prefers-reduced-motion every animation stops and the red pill keeps a static ring and static stripes — the cue survives, the motion does not. Every selector in that block carries [data-band], which is the whole rule rather than a flourish: a media query does not raise specificity, so the bare .kmeter reset lost to .kmeter[data-band='CRITICAL'] and the siren went on shuddering at exactly the people who asked it not to. Caught by measuring computed animation-name in a real browser, not by reading it.