Skip to content

Recover from browser actions rejected before dispatch - #842

Merged
danielgwilson merged 2 commits into
mainfrom
fix/rejected-action-recovery
Sep 24, 2026
Merged

danielgwilson merged 2 commits into
mainfrom
fix/rejected-action-recovery

Conversation

@danielgwilson

@danielgwilson danielgwilson commented Sep 24, 2026 •

Copy link
Copy Markdown
Owner

A browser input rejected before dispatch used to terminate the participant and close its control connection. Typing before an editable field had focus could therefore kill an otherwise usable local study.

The client and guest dispatcher now keep the channel open only for action_rejected / not_dispatched execution failures. The shared loop records the rejection, withholds the remaining batch, and asks the participant again with a fresh screenshot and complete acknowledgements. It does not replay input automatically. Other errors, uncertain outcomes and failed observations retain terminal handling.

Pins updated x64 and ARM64 runtime images with immutable sizes/checksums and matching published sources. Includes the 0.99.1 patch release notes. Closes #841.

Validation:

  • Recovery regressions failed before the change; 184 focused tests pass after it, covering withheld dependent actions, repeated rejection, uncertainty and connection reuse.
  • Real published-runtime reproduction failed before recovery. The complete patched Firecracker guest recovered, saved the exact submitted text and cleaned up. An intermediate host-only repair failed, establishing why both host and guest updates are required.
  • A real account participant recovered twice during an authorized app study and reached a visible result. A second participant had an independent pre-dispatch provider timeout (Diagnose local Codex participant timeout before profile verification #844); evidence and automatic analysis remain intact. Startup fixture leakage is tracked separately in Wait for target navigation before the first local participant observation #843.
  • Full code CI, x64 artifact proof and native ARM64 build/source packaging passed at the implementation commit. Subsequent changes only pin those artifacts. A fresh live Mac run of this patch has not been performed.
  • Final-head code CI and local release checks passed: 3710 unit tests, 86 browser tests, public surface and skill validation. Exact-candidate first-contact dogfood passed its free-path milestones; hosted credentials were deliberately withheld. Local-route discoverability remains the separate onboarding issue Make local browser studies discoverable during setup #837.

Runtime receipts: x64, ARM64.

@vercel

vercel Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
humanish Ignored Ignored Preview Sep 24, 2026 10:13pm UTC

Request Review

@danielgwilson
danielgwilson marked this pull request as ready for review September 24, 2026 22:21
@danielgwilson
danielgwilson merged commit 457aac9 into main Sep 24, 2026
12 checks passed
@danielgwilson
danielgwilson deleted the fix/rejected-action-recovery branch September 24, 2026 22:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Let browser participants recover from actions rejected before dispatch

1 participant