Problem
pnpm lint (the frontend eslint . gate) fails on dev due to a pre-existing
react-hooks/set-state-in-effect error in
frontend/src/components/demo/RunHistoryStrip.tsx (the effect calls
setItems/setLastSummary synchronously in its body). eslint-plugin-react-hooks@7
(pinned in the lockfile) promotes this to an error, so the whole-repo lint gate
is red.
This is unrelated to any feature work — it blocks the frontend lint gate for
every branch. Fixing it in isolation keeps feature PRs green.
Scope
frontend/src/components/demo/RunHistoryStrip.tsx ONLY.
- Refactor the run-history append so it no longer calls
setState synchronously
inside the effect body (derive/guard appropriately), preserving the existing
HISTORY_CAP + persistence behavior.
Acceptance
pnpm lint reports 0 errors for this file.
pnpm tsc --noEmit clean; pnpm test --run green.
Problem
pnpm lint(the frontendeslint .gate) fails ondevdue to a pre-existingreact-hooks/set-state-in-effecterror infrontend/src/components/demo/RunHistoryStrip.tsx(the effect callssetItems/setLastSummarysynchronously in its body).eslint-plugin-react-hooks@7(pinned in the lockfile) promotes this to an error, so the whole-repo lint gate
is red.
This is unrelated to any feature work — it blocks the frontend lint gate for
every branch. Fixing it in isolation keeps feature PRs green.
Scope
frontend/src/components/demo/RunHistoryStrip.tsxONLY.setStatesynchronouslyinside the effect body (derive/guard appropriately), preserving the existing
HISTORY_CAP + persistence behavior.
Acceptance
pnpm lintreports 0 errors for this file.pnpm tsc --noEmitclean;pnpm test --rungreen.