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

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

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

opened this

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

Closes #3066

commented

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

Approved

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:

  1. Run bun x tsc --noEmit in a place where it can run; the builder skipped it.
  2. Add a Home screenshot with a stalled step to the pull. The forge looks do not cover that state. play is also the Running badge icon, so check that a rested Check again does not read as a status.
Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs