Skip to content

feat(network): send bounded BiDi pointer click frame - #257

Draft
seonghobae wants to merge 17 commits into
repair/webdriver-bidi-pointer-click-restackfrom
feat/webdriver-bidi-pointer-click-send
Draft

feat(network): send bounded BiDi pointer click frame#257
seonghobae wants to merge 17 commits into
repair/webdriver-bidi-pointer-click-restackfrom
feat/webdriver-bidi-pointer-click-send

Conversation

@seonghobae

@seonghobae seonghobae commented Aug 30, 2026

Copy link
Copy Markdown
Contributor

Pointer sender connection provenance

Exact head 9451fd8a23dec95b31749376bc78c2eaca977fe8, base #256 881c7f09ee9161ce8664dd75226938ecf60b85e5. Registers the existing private connection generation before I/O, preserving timeout rejection, preflight retirement and ambiguous-write retention.

Executed child RED: #258 8193fcd5 accepted a replacement-socket reply. Stronger child d9396f05 rejects both foreign success and error on the same listener/session, requires exact mismatch and original recovery; both failed before repair. Sender registration alone does not fix receipt admission; #258 integration remains required.

Exact local verification passed: Rust 1.97.1 fmt, locked all-target/all-feature check, full workspace tests, strict Clippy, rustdoc; 142 Python contracts; compileall; CodeGraph; diff check. Pinned coverage: 1093 functions / 11134 lines / 14204 regions / 1214 branches, each 100%. Artifact SHA-256 a976c273d86d43eef366044cca5b73566064844612a35ba02ac4b7fe59a0969f. Independent read-only review found no actionable regression; this is not counted approval.

Fresh hosted checks are not yet verified as successful. Keep Draft. Outbound session authority, browser ownership, observed click effects, protected-main integration and release remain unproven.

Previous exact-head evidence (historical)

Partial implementation of #28. This Draft transports the already validated inert input.performActions primary-button click across the bounded RFC 6455 stream; frame-write success is not browser-action or post-condition evidence.

Current non-force stack adoption

Current exact head is 8f1507346f65798a6bf4eaf370d65a2d406a6f44, a tree-identical ordinary two-parent adoption over predecessor f4a8f2cbf515bea348f500b59615a9581c1b96a2 and current #256 881c7f09ee9161ce8664dd75226938ecf60b85e5. No source blob, test, docs, workflow, dependency, gate or authority changed. This carries #255's repaired safe-successor topology forward without rewriting history.

Predecessor local verification and CI 33965440517 remain exact-predecessor evidence only. Fresh exact-head CI 34003269343 completed success on 8f1507346f65798a6bf4eaf370d65a2d406a6f44. This validates repository quality for this exact adopted tree only; it does not establish browser action/post-condition evidence, protected-main integration, central review/security acceptance, or release readiness.

The sender still registers typed correlation before I/O, rejects invalid deadlines before registration, retires only provably no-write preflight failures, and leaves ambiguous writes outstanding. Session/context/origin/document authority, policy/approval, TypedInput, node admission, browser ownership, response correlation and observed post-condition remain separate boundaries.

Keep Draft and preserve parent-first protected integration. No workflow/ruleset/secret mutation, self-approval, bypass, force update, destructive rebase, merge, tag, release or publication was performed.

@coderabbitai

coderabbitai Bot commented Aug 30, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@seonghobae seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Exact-head repair review: predecessor 1427c7ca... produced two concrete REDs—strict Clippy rejected the test-only expect_err, and exact production coverage exposed the same impossible success-without-id correlation branch now repaired in parent #256. ac7b035... adopts current parent d24b8dc... non-force while preserving only this child’s pointer-click transport delta and the denied-expect repair. Relative to the live parent, the structural routing repair is no longer duplicated. Keep Draft until parent and this exact child are terminally GREEN; do not transfer predecessor checks.

Signed-off-by: Seongho Bae <me@seonghobae.me>
@seonghobae

Copy link
Copy Markdown
Contributor Author

Restacked on exact parent #256 head f4f5bb71b54f3df3887d79b52f361e5c8e2d30e7 and fixed the pointer-click send boundary test-first.

RCA: invalid frame deadlines were registered before deterministic rejection, and local masking-key reuse left an id outstanding even though no command bytes could have been written. The boundary now rejects invalid deadlines before registration, retires only deterministic preflight failures, and retains correlation for observed ambiguous socket-write failures.

Local evidence on the new head:

  • focused pointer-click success/failure tests (including repeated ambiguous-write proof)
  • cargo clippy --workspace --all-targets --all-features -- -D warnings
  • cargo test --workspace --all-targets --all-features
  • documentation contracts: 22 passed, 177 subtests passed
  • RUSTDOCFLAGS="-D warnings" cargo doc --workspace --all-features --no-deps
  • pinned nightly production functions/lines/regions/branches: 100%

One initial coverage run hit the known unrelated macOS revoked-socket NotConnected timing race; the single permitted retry completed and the exact coverage verifier passed without weakening or skipping the test.

@seonghobae seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Current-head lineage review: live parent is #256 f4f5bb71b54f3df3887d79b52f361e5c8e2d30e7, current head is 53faa74beb48d0e6a77cac2f3b3ef2eca91c094a, and fresh compare is 12 ahead / 0 behind with five pointer-click transport semantic paths. The ac7b035... CI GREEN remains predecessor child-delta evidence only after the parent refresh. Current exact CI 33900816952 is non-terminal, and the newer #247 compatibility generation still prevents live-stack GREEN.

Commit-Message-Assisted-by: Claude (via Claude Code)
Signed-off-by: Seongho Bae <me@seonghobae.me>
@seonghobae

Copy link
Copy Markdown
Contributor Author

Exact-head parent refresh: ac73abfe7edd5786a7eb3eaab1a8c773093be7d3 now adopts #256 bd1f5ac60a76d2edb35e63095d406e53bc43931f without conflict. One macOS opening-fixture teardown race failed once, the exact focused retry passed, and the subsequent complete CI-equivalent pinned-nightly coverage run passed at 100% functions/lines/regions/branches; rustfmt, strict Clippy, rustdoc, all-target check, and 141 Python contracts also passed. Hosted checks remain authoritative; the PR stays Draft.

Commit-Message-Assisted-by: Claude (via Claude Code)
Signed-off-by: Seongho Bae <me@seonghobae.me>
@seonghobae

Copy link
Copy Markdown
Contributor Author

Non-force restacked on PR #256 exact head 9f2e6f29be46371762e3031a97c1cac04720694f; PR #257 is now exact head ea2b5b78868917219c46f1304558b92490a7f6fe. The first coverage run hit the existing closed-socket observation race in pointer_click_ambiguous_socket_write_keeps_correlation; its exact focused retry passed, followed by a clean full CI-equivalent coverage run at 100%. Rustfmt, all-feature/all-target check, strict Clippy, rustdoc, and 141 Python contracts also pass. Fresh hosted exact-head checks and ordered parent integration remain required.

@seonghobae seonghobae left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Exact-head review of ea2b5b7 against current parent #256 at 9f2e6f2. I traced the bounded five-file sender delta through registration, frame preflight, write failure, and correlation retirement. No new actionable defect was found in this delta. The sender registers the typed command before I/O, rejects invalid deadlines before registration, retires only the just-registered id after the current no-write masking-key rejection, and leaves ambiguous writes outstanding. A successful write remains transport-only evidence, not response correlation or browser action/postcondition proof.

Executed locally on this exact head: both pointer-click integration suites (5 tests) passed; cargo +1.97.1 fmt --all --check, network all-target/all-feature Clippy with -D warnings, and network rustdoc with RUSTDOCFLAGS='-D warnings' passed. These are bounded review checks, not a fresh complete-workspace/100%-coverage or hosted-check claim.

Keep Draft. The active #255 received-response provenance repair and subsequent #256 parent adoption are still prerequisite work; these results do not transfer to future restacks. This COMMENTED review is not counted approval.

Preserve the typed click sender and child tests while retaining the current connection-bound reader and response/closure provenance exports. Restore the inherited native release contract and verify the complete local tree without claiming browser-action completion.

Commit-Message-Assisted-by: Codex (via Codex)
Signed-off-by: Seongho Bae <me@seonghobae.me>
Adopt #256 881c7f0 without changing this branch tree. This carries the safe #255 teardown-successor topology forward while preserving the bounded pointer-click sender and all existing tests byte-for-byte.

Ordinary two-parent topology adoption only; no source, workflow, gate, or authority change.

Signed-off-by: Seongho Bae <me@seonghobae.me>
seonghobae added a commit that referenced this pull request Sep 6, 2026
Adopt #257 8f15073 without changing this branch tree, carrying the safe teardown-successor topology into typed click-response correlation.

Ordinary two-parent topology adoption only; the response implementation, tests, workflow, gates, and authority boundary are unchanged.

Signed-off-by: Seongho Bae <me@seonghobae.me>

seonghobae commented Sep 6, 2026

Copy link
Copy Markdown
Contributor Author

Writer lease RELEASED — root task01a06c0f-b427-7830-b654-9addcdfe7aff. Published9451fd8a23dec95b31749376bc78c2eaca977fe8 by non-force fast-forward over8f150734; base881c7f09 unchanged. Full Rust1.97.1 fmt/check/workspace tests/strict Clippy/rustdoc;142 Python contracts;compileall/CodeGraph/diff passed. Pinned coverage1093 functions/11134 lines/14204 regions/1214 branches all100%; artifact SHA256 a976c273d86d43eef366044cca5b73566064844612a35ba02ac4b7fe59a0969f. Independent read-only review no actionable findings, not approval. Actual Edge screenshot inspected published exact-head body: readable without observed clipping or overlap, caveats visible. Hosted current-head success not yet verified. #258 response integration underway as the sole write-active slice; sender alone does not reject foreign replies. No merge/release/runtime claim.

Commit-Message-Assisted-by: Codex (via Codex)
Signed-off-by: Seongho Bae <me@seonghobae.me>
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.

1 participant