codeburn/dash
AgentSeal 8124da9af7 no-data: cap guard, timezone-free dash trim, StackedBars aria
Three hardening fixes from adversarial review of the no-data rendering:

dataStartKey returns null at the payload's 365-entry history cap, where
the oldest retained entry is no longer the true data start; classifying
past it would label real aged-out history as no data on long custom
ranges. Documented that the install-to-first-use gap reading as no data
is literally accurate: nothing was recorded then either.

The dash granular chart now trims leading zero-only buckets by value
instead of comparing bucket timestamps against date keys, so producer
and viewer timezone skew can never drop a real first-day bucket, and an
all-zero series lands in the established empty state.

StackedBars no-data columns expose their state via aria-label, not only
a title on a non-focusable div.
2026-07-20 17:02:30 +02:00
..
public brand: restore binary 0101 flame across all surfaces 2026-07-17 14:14:40 -07:00
src no-data: cap guard, timezone-free dash trim, StackedBars aria 2026-07-20 17:02:30 +02:00
index.html feat(web): in-dashboard device discovery, share-from-browser, redesign + hardening (#534) 2026-06-20 19:02:03 +02:00
package-lock.json feat(web): local React dashboard served by codeburn web (#531) 2026-06-20 16:21:25 +02:00
package.json feat(web): local React dashboard served by codeburn web (#531) 2026-06-20 16:21:25 +02:00
tsconfig.json feat(web): local React dashboard served by codeburn web (#531) 2026-06-20 16:21:25 +02:00
vite.config.ts feat(web): local React dashboard served by codeburn web (#531) 2026-06-20 16:21:25 +02:00