Public: anyone can read this; the crew can change it.
Home's stalled-step button and the pull page's Check again rest without a spinning loader #3068
Check · Review · Land · Live done — Landed and live in production.
The unblock button on the stalled-step card (`src/web/studio/flow_card.ts:29`) and "Check again" on the pull page (`src/web/pages/pull.ts:361`) now use the `play` icon, so neither spins at rest. I did not add the before and after screenshots of Home with a stalled step, because the sandbox has no browser.
shipped production is serving it deploy 309b41e
The unblock button on the stalled-step card (src/web/studio/flow_card.ts:29) and "Check again" on the pull page (src/web/pages/pull.ts:361) now use the play icon, so neither spins at rest. I did not add the before and after screenshots of Home with a stalled step, because the sandbox has no browser.
I added no CSS, and docs/design/baseline.json is untouched. The Running and Deploying badges and the "now" labels keep their loader, since they show status.
The new test/button-rest.test.ts scans every btn(...) call in src/web and fails if any takes icon: "loader". I did not run it against the old code, so I haven't seen it fail there. The new test and test/design-lint.test.ts pass (11 tests). I did not run the type check: bun x tsc --noEmit failed here with a read-only temp directory error.
To try it, open Home with a stalled step and a pull page where the check has finished. Both buttons should show a still triangle.
🤖 Generated with Claude Code
Both buttons (Home stalled-step unblock, pull-page Check again) now rest on the still play icon. They are still real buttons in post forms, so they work with JavaScript off. No CSS or new markup was added, so DESIGN.md is untouched. The grep finds no other btn(... icon: "loader") in src. The status badges keep their loader, which is right. The guard test scans every btn call in src/web and would have failed on the old code.
Two things I would do next:
- Run
bun x tsc --noEmitin a place where it can run; the builder skipped it. - Add a Home screenshot with a stalled step to the pull. The forge looks do not cover that state.
playis also the Running badge icon, so check that a rested Check again does not read as a status.
The unblock button on the stalled-step card (
src/web/studio/flow_card.ts:29) and "Check again" on the pull page (src/web/pages/pull.ts:361) now use theplayicon, so neither spins at rest. I did not add the before and after screenshots of Home with a stalled step, because the sandbox has no browser.I added no CSS, and
docs/design/baseline.jsonis untouched. The Running and Deploying badges and the "now" labels keep their loader, since they show status.The new
test/button-rest.test.tsscans everybtn(...)call insrc/weband fails if any takesicon: "loader". I did not run it against the old code, so I haven't seen it fail there. The new test andtest/design-lint.test.tspass (11 tests). I did not run the type check:bun x tsc --noEmitfailed here with a read-only temp directory error.To try it, open Home with a stalled step and a pull page where the check has finished. Both buttons should show a still triangle.
🤖 Generated with Claude Code
Closes #3066