diff options
| author | gbc dev <gbc@localhost> | 2026-09-24 12:45:14 +0200 |
|---|---|---|
| committer | gbc dev <gbc@localhost> | 2026-09-24 12:45:14 +0200 |
| commit | e235adb5cf9655b23d0097f8ab184e54d2d7dea0 (patch) | |
| tree | a5818e19600407baddbbeb000cd56827e4354259 /hooks/pre-commit | |
| parent | web: the switch builds itself a small network on arrival (diff) | |
| download | sl0pboy-e235adb5cf9655b23d0097f8ab184e54d2d7dea0.tar.gz sl0pboy-e235adb5cf9655b23d0097f8ab184e54d2d7dea0.tar.xz sl0pboy-e235adb5cf9655b23d0097f8ab184e54d2d7dea0.zip | |
web: show what the demo is doing while it boots, and lock the controls
The page spent ~20s assembling itself with nothing to show for it but four
Game Boys sitting on banners, which reads as broken rather than busy. There's
now a boot banner with a spinner naming the current step ("GB2 is 10.0.0.4 -
joining #gb on 10.0.0.2... step 3/4"), and each machine's card pulses while
it's still being set up. When it finishes, the banner turns green and says so.
The controls are disabled for the duration - not just cosmetics: plugging in a
Game Boy mid-scenario takes the address the next step is about to be told to
connect to.
Two bugs found by testing the lock rather than assuming it: the DHCP-lease
handler re-enabled "ping across" directly instead of going through refresh(),
and refresh() itself had a leftover second assignment to the same button that
overwrote the demo-aware one. Both now go through refresh(), which is the only
thing that decides whether a control is live.
Verified: all four controls stay off across every step and come back together
at the end, exactly one card pulses at a time, and the banner reaches "demo
ready" with no exceptions.
Diffstat (limited to 'hooks/pre-commit')
0 files changed, 0 insertions, 0 deletions
