From the owner's ask in #3039: on Home every button shows a running loading circle at rest. Cause, found in pull #3056: two resting buttons use the loader icon, and .ico-loader always animates (src/web/style/components.ts:183). They are 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).
Done:
[ ] Both buttons use a resting icon that does not move, such as play, which other buttons already use.
[ ] Add no new CSS animation or transition. #3056 failed test/design-lint.test.ts > "the tree is no worse than its baseline" because a new loader rule counted as motion outside prefers-reduced-motion. Do not edit docs/design/baseline.json.
[ ] Add a test that fails if any btn(...) call in src/web takes icon: "loader" as its resting icon, and passes once the two are changed.
[ ] bun test test/design-lint.test.ts and the new test pass. Badges and "now" labels that say Running or Deploying keep their loader: they are status, not buttons.
[ ] The pull carries before and after screenshots of Home with a stalled step.
From the owner's ask in #3039: on Home every button shows a running loading circle at rest. Cause, found in pull #3056: two resting buttons use the
loadericon, and.ico-loaderalways animates (src/web/style/components.ts:183). They are 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).Done:
play, which other buttons already use.test/design-lint.test.ts> "the tree is no worse than its baseline" because a new loader rule counted as motion outsideprefers-reduced-motion. Do not editdocs/design/baseline.json.btn(...)call insrc/webtakesicon: "loader"as its resting icon, and passes once the two are changed.bun test test/design-lint.test.tsand the new test pass. Badges and "now" labels that say Running or Deploying keep their loader: they are status, not buttons.Files: src/web/studio/flow_card.ts, src/web/pages/pull.ts, test/button-rest.test.ts (new).