Skip to content

feat(firefox): network control and emulation on Firefox - #2207

Open
lahfir wants to merge 72 commits into
laf/bidi-snapshot-refs-inputfrom
laf/bidi-network-emulation
Open

lahfir wants to merge 72 commits into
laf/bidi-snapshot-refs-inputfrom
laf/bidi-network-emulation

Conversation

@lahfir

@lahfir lahfir commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor
  1. Firefox sessions had no request routing, domain allowlist, HAR, downloads or device emulation.
  2. This adds network control and emulation on Firefox through one BiDi intercept, matching the Chrome commands and output.
  3. Builds on feat(firefox): snapshots, refs and element commands on Firefox #2206; continued in feat(firefox): dashboard live view, bidi module and docs #2208.

@vercel

vercel Bot commented Oct 23, 2026 •

Copy link
Copy Markdown
Contributor

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

Project Deployment Actions Updated
agent-browser Ready Ready Preview, v0 Nov 9, 2026 10:45pm UTC
agent-browser-env-demo Ready Ready Preview, v0 Nov 9, 2026 10:45pm UTC

@vercel-internal-security-reviewer

Copy link
Copy Markdown

Security review details

Comment thread cli/src/native/firefox/network.rs Resolved
Comment thread cli/src/native/firefox/session.rs Resolved
The launch path opened a second RDP connection and enabled accessibility again, left over from a merge. Drop the duplicate block.
Destroyed-tab handling now lives in FirefoxSession::track_tabs, called from drain_events. network::drain resets ref and frame state when the active tab changes.
The 90 second RDP timeout only hid the hang caused by the duplicate DevTools connection, which is fixed. Go back to 30 seconds so a real hang still fails fast.
Comment thread cli/src/native/firefox/page.rs Resolved
Comment thread cli/src/native/firefox/network.rs Resolved
Comment thread cli/src/output.rs Resolved
…jected

Update --help and the command references to describe proxy credentials as supported and keep the rejected list accurate.
Comment thread cli/src/native/firefox/emulation.rs Resolved
Comment thread .github/workflows/ci.yml

- name: Run Firefox e2e tests
run: cargo test --profile ci --manifest-path cli/Cargo.toml e2e_firefox -- --ignored --test-threads=1 --skip e2e_firefox_route_mock --skip e2e_firefox_allowed_domains --skip e2e_firefox_download --skip e2e_firefox_emulation
run: cargo test --profile ci --manifest-path cli/Cargo.toml e2e_firefox -- --ignored --test-threads=1

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

The Firefox suite now runs without skips, but none of these tests cover origin headers, HAR, console/errors, request detail, response body, offline, user-agent, locale, geolocation, or permissions, so regressions in those new handlers still pass CI.

This branch was successfully deployed

2 active deployments
Preview – agent-browser — fe42e9a6 Deployed Nov 9, 2026 by vercel[bot]
Preview – agent-browser-env-demo — fe42e9a6 Deployed Nov 9, 2026 by vercel[bot]
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.

3 participants