Skip to content

fix(web): show a run held on an approval as paused, not at work - #65

Closed
brianjfox wants to merge 1 commit into
mainfrom
fix/show-parked-run-state
Closed

brianjfox wants to merge 1 commit into
mainfrom
fix/show-parked-run-state

Conversation

@brianjfox

Copy link
Copy Markdown
Contributor

Closes #63

What changed

  • packages/schemas/src/artifact.ts: InFlightRun.state gains approval beside working and waiting, for a run that is mid-turn but held on an approval only the person can give.
  • apps/hub/src/artifacts/service.ts: the project room reports a live run as approval when it has a pending approval record, instead of reading its activity as work.
  • apps/web/src/pages/workspace/dispatch-card.tsx: DispatchStatus gains approval; dispatchStatus maps the run state to it, and dispatchLive counts it as current work so a document the run builds from stays protected.
  • apps/web/src/pages/workspace/work-unit.ts and work-unit-view.tsx: the hand-off's own step shows "Waiting for you" (approval-requested), the live line reads "Paused for your approval" with no shimmer and no elapsed clock, and the message no longer streams.
  • apps/web/src/config.ts: the new wording.
  • apps/web/src/pages/workspace/dispatch-status.test.ts: covers the status mapping, liveness, and the step status.

Why

A coder waiting on a package-install approval is still mid-turn, so the hub reported it as working and the page kept its last activity line, "Running a quick check", with the clock counting for as long as the person left the approval unanswered. Nothing on the page said the run was waiting on them.

How it was verified

  • ./node_modules/.bin/tsc --noEmit -p . and -p apps/web pass.
  • bun --conditions=intx-src test apps/web/src/pages/workspace passes (22 tests, including the new file) and apps/hub/src/artifacts tests pass.
  • oxlint --deny-warnings and Prettier pass on the changed files.

A coder waiting on a package-install approval is still mid-turn, so the
hub reported it as working and the page kept its last activity line,
"Running a quick check", with the clock counting, for as long as the
person left the approval unanswered.

The hub now reports an in-flight run with a pending approval in a third
state, approval, beside working and waiting. The hand-off's line reads
"Paused for your approval" with no shimmer and no clock, its step shows
"Waiting for you", and its work still counts as current so a document it
builds from is protected from edits.

Closes #63

@corbits-triage corbits-triage Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Triage requests changes:

  • Conventions: added code matches a code pattern

@brianjfox

Copy link
Copy Markdown
Contributor Author

Continued, rebased onto main, with the triage finding fixed, in a replacement pull request from branch fix/show-parked-run-state-main.

@brianjfox brianjfox closed this Nov 2, 2026
@brianjfox
brianjfox deleted the fix/show-parked-run-state branch November 4, 2026 10:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

A run parked on an approval still shows its last activity as if working

1 participant