feat: improve browser reliability and recording#37
Merged
Conversation
…-beta # ------------------------ >8 ------------------------ # Do not modify or remove the line above. # Everything below it will be ignored. # # Conflicts: # AGENTS.md # docs/CHROME_WEB_STORE.md # extension/src/background.ts # src/doctor.ts # src/protocol.ts # src/relay-helpers.ts # src/relay.ts # test/doctor.test.ts # test/extension-rpc.test.ts # test/http-api.test.ts # test/protocol.test.ts # test/relay-extension-handshake.test.ts # test/relay-helpers.test.ts # test/relay-schema.test.ts # test/relay-session-persistence.test.ts # test/relay-visibility-prune.test.ts
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Merge the Browser Control work that accumulated on the Chrome Web Store branch after PR #32 was merged. This improves CDP client isolation, session and form helpers, recording, extension reconnect reliability, packaged diagnostics, and process cleanup. It also retains the two OpenCode Jr human-handoff workflow scripts.
Before / After
Before: post-merge work remained stranded on the already-merged feature branch. Focus-based form fallbacks could trigger browser integrations and wedge a tab, MV3 worker suspension could leave the extension without its reconnect alarm or socket heartbeat, recording buffered capture ownership less cleanly, and packaged Doctor checks could compare against the source manifest instead of the shipped extension.
After: the accumulated work is reviewable as one integration PR. Form fallbacks preserve focus while retaining controlled-input and iframe semantics; the extension repairs its alarm and keeps open sockets active; recording streams framed captures; Doctor checks the bundled manifest; managed relay and process paths are hardened.
How
fillInputandfillInputs, with controlled-input and iframe smoke coverage.Scope
This PR merges the accumulated implementation work but does not publish a new npm release. The user-facing fixes include Changesets for the next release.
Testing
pnpm run ciSMOKE_CASE=execute-fill-helpers pnpm smokeagainst the real extension-backed browser, including a delayed controlled field, iframe-local locator, shadow-root selector, and zero focus eventsFlow