Read navigation responses and commit metadata in one owner turn, and resolve
inherited request headers together. Reuse existing Context capabilities and
exact PageAgentHost sessions; remove unused background subscriptions and idle
followup dialog reads. Preserve physical handle validation and output budgets.
Gate the three delayed Worker cancellation fixtures on actual requests and
transport completion, retaining their semantic assertions and checking joins.
Validated with root fmt, strict workspace Clippy and nextest (19530 passed,
13 configured skips; 91 expected panic pairs unchanged), 60 cancellation runs,
48 CDP groups/536 scenarios, 165 WebDriver cases and shared-page lifecycle.
Pinned local comparisons reduce owner calls from ~18.8k to ~12k; the report
retains the remaining main-relative latency and concurrent Slack open items.
Keep live Contexts and Page/Worker streams after their protocol transport
closes. Replacement observers start at the existing producer sequence and
receive native state; frozen output and cursor leases from the old observer
cannot cross into the new FIFO. Retired streams remain closed, initial binding
retains its replay contract, and transport budgets are unchanged.
Validate with fmt, strict workspace Clippy, 35 focused and 481 related tests
across three zero-retry iterations, and full nextest (19528 passed, 13
configured skips). Cover websocket owner restart, all Worker stream families,
ServiceWorker recovery without a Window, delayed output/fences and overload.
Stream remaining original loaders, synchronous XHR, manifest and popup resources with their real identities and metadata. Remove obsolete cross-layer ownership entries and preserve exact command routes for error replies.
Replace the abandoned publication-flag migrations with the original request transfer and one ServiceWorker result channel. Preserve admitted bootstrap policy and publish physical CSP, preflight and final authentication phases without buffered auth-only branches.
Route dedicated/shared/service main scripts and updates through Context-owned loads. Keep preflight identity and rejected response bodies through retirement and cancellation.
Own Worker service lanes and late binding, bound retained Worker output and remove redundant identity/event mirrors. Publish actual target creation and retirement to every frontend independently of command origin or discovery.
Commit document, child and Worker network facts at BrowserOwner while retaining renderer FIFO and rejected responses. Recover Worker observation at readiness and bind fetch decisions and initial surfaces to native ownership.
Admit dedicated, nested, shared and service Workers natively. Bind inspection at readiness, preserve bootstrap ordering and issue replay, and keep Runtime admission and failed navigation retirement tied to native state.
Project Context, WebContents and Document occurrences across CDP, BiDi and Classic. Share the protocol owner, preserve navigation continuations across adapter turns, and join Worker/resource work at its native shutdown boundary.
Bind document commands, resource work, Worker controls, downloads and retirement to exact native handles. Remove Context-wide mirrors and transfer physical ownership to the independent Core service.
Make AgentHost dispatch and session ownership explicit. Gate commands on the committed Document projection instead of treating protocol completion as native navigation authority.
Construct and commit initial and successor Documents through WebContents. Preserve exact cancellation, Context cache and loading policy across response preparation, authentication and interception, and retire failed attempts without destroying the current Document.
* fix(parser): preserve text document MIME and encoding semantics
* fix(document): share literal text parsing across child document paths
* fix(document): construct projection parser with the public API
Replace --cdp-screencast-fps with --screencast-interval. Accept positive
integer milliseconds, retain the --layout requirement, and default to
1000 ms. Pass the interval through server configuration and multiply the
Duration by everyNthFrame without converting through integer FPS.
Update CLI help and English/Chinese docs. Cover parsing, defaults, rejected
values and the removed flag, precise deadlines, and interval multiplication.
Validation:
- cargo fmt --all
- cargo clippy --workspace --all-targets --all-features -- -D warnings
- cargo nextest run --no-fail-fast
Remove the Date/Intl wrappers, custom date parser and per-Page replay state. Keep exclusive locale/timezone ownership in a process controller and refresh existing Page and Worker isolates through generation-bound notifications and observation boundaries, including nested Inspector pauses.
Release claims on session/target/context retirement, retain native coercion and locale matching, and cover lifecycle restoration with Rust, BiDi and process-isolated CDP regressions.
Represent the published default page as a target-catalog placeholder with an explicit lifecycle. Materialize it only when an operation needs a live page owner; activate and close the placeholder directly, and create new targets without first constructing the default page.\n\nMake NavigationEngine initialization explicit so read-looking access cannot silently allocate the deferred runtime.
Expose a tab-level CDP frontend that rebinds to the selected page while direct page endpoints remain pinned to their target. Replay persistent Target configuration across rebinds and scope debugger waits to the exact attached target so existing replacement pages are not paused globally.
Carry foreground/background selection through renderer and protocol so auxiliary targets are activated independently of navigation. Match trusted input policy for platform modifiers, Shift, Alt, and window.open while preventing synthetic modified clicks from creating tab-unders.