Skip to content

fix(desktop): make Check all match checking each harness on its own - #3451

Merged
LHagfoss merged 1 commit into
mainfrom
fix/desktop-check-all-harnesses
Nov 11, 2026
Merged

LHagfoss merged 1 commit into
mainfrom
fix/desktop-check-all-harnesses

Conversation

@LHagfoss

Copy link
Copy Markdown
Owner

What

Check all marked harnesses as failing that pass when checked one by one. It started every check at once, and every answer replaced the whole harness snapshot, so a late, older answer brought back a stale detection.

  • A harness snapshot is applied only if no later request's answer has been applied already (a request sequence number shared by refreshHarnesses and harnessCall).
  • Check all sends one account/check that re-detects every harness (one plan/Keychain read), then starts the harnesses two at a time to list their models. A harness already being checked is joined.
  • The Check all button reads "Checking 2 of 5…" while it runs.
  • Failures already show the real error text on the card; unchanged.

Changelog

Check all in Settings > Harnesses now ends with the same results as pressing Check on each harness, and shows its progress.

Testing

  • bun run check in apps/desktop (typecheck, lint, tests, build).
  • New tests in harnessChecks.test.ts: Check all ends in the same per-card results as checking each alone; one account/check with every id; at most two model listings at once; joining a running check; a delayed older snapshot does not replace a newer one (fails without the guard).

Closes #3448

@github-actions github-actions Bot added the fix A bug fix label Nov 11, 2026
@LHagfoss
LHagfoss merged commit 287bbce into main Nov 11, 2026
9 checks passed
@LHagfoss
LHagfoss deleted the fix/desktop-check-all-harnesses branch November 11, 2026 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

fix A bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(desktop): make Check all match checking each harness on its own

1 participant