Skip to content

fix(cua-driver): exclude cursor overlay from foreground verification - #3704

Merged
injaneity merged 7 commits into
mainfrom
fix/3681-overlay-foreground
Sep 11, 2026
Merged

fix(cua-driver): exclude cursor overlay from foreground verification#3704
injaneity merged 7 commits into
mainfrom
fix/3681-overlay-foreground

Conversation

@injaneity

@injaneity injaneity commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator

Refs #3681

Summary

Exclude the renderer-owned cursor window from macOS exact-window foreground verification. Only its registered native window ID is excluded; exact focus, foreground process, and genuine competing-window checks remain intact. Windows/Linux product behavior is unchanged by this PR.

Coverage

  • Twenty consecutive exact activations during live peer-cursor overlap; fail on the first mismatch or premature producer expiry.
  • A genuine competing window still causes the expected refusal, without moving the real pointer.
  • Narrow report support for that foreground refusal; background side-effect requirements remain unchanged.

Current-candidate validation

Tested head: 2e16e3d84136c3fde6f7df85c2606f0eb634dc13, based on main 360e8ed62903437f3932517dc13c85ae79380373. The PR head and main base were rechecked after testing; neither changed. No final executable diff is unaccounted for.

432/432 desktop cases and 74/74 standalone-browser cases passed, including expected typed refusals. All reports show zero failed and zero skipped cases. Each full suite was run once; no behavioral retries, permission repairs, or weakened assertions.

Gate Result Evidence
macOS Lume desktop 163/163; both overlay/competitor regressions pass Run 20260911T183239Z-55cc99ea, exit 0
Windows complete interactive matrix 138/138: shared 86, native 43, capture 9; installer/update smoke passes Run 34633801973
Linux complete X11 matrix 131/131: shared 85, native 39, capture 7; installer smoke passes Run 34633804375
macOS standalone Chrome 18/18 Same Lume run, --standalone-browser
Windows standalone Chrome/Edge 36/36 Run 34633806694
Linux X11 standalone Chrome 20/20 Run 34633806694
Ordinary PR CI Green, including release metadata, contributor attribution, unit/compile, contract clients and docs Current-head checks

The Windows native recording preflight finalized its video and passed before all 43 native cases executed. The previous native-lane evidence gap is closed for this candidate. #3713 remains an unresolved intermittent recorder failure; this passing candidate does not establish that it is fixed.

Native/browser runners enforced their strict evidence checks. On macOS, the standard daemon was restored and the run-owned worker was independently verified stopped and retained. No VM was deleted.

Environment and evidence limits

  • macOS clone source: cua-driver-browser-baseline-20260908-chrome152, derived from a stopped fix(cua-driver): correct macos click delivery and recording evidence #2907 worker and retained feat(cua-driver): add target-scoped post-action rediscovery #3373 worker. Official Chrome 152.0.7977.83 signature/notarization was verified when the baseline was prepared. This is a worker-derived local baseline, not a certified immutable private release seed.
  • Windows standalone isolated-launch cases verify the declared hosted-runner-token refusal; passing them does not claim support for protected isolated launch on that runner. Other browser cells and expected ambiguity refusals are recorded individually.
  • Linux standalone tests use the documented disposable-browser no-sandbox environment. Linux evidence is X11, not certification of every Wayland compositor.
  • Maintainer-local Lume evidence: /Users/administrator/.local/share/cua-lume-e2e/runs/20260911T183239Z-55cc99ea/. Downloaded hosted summaries/browser/native evidence: /Users/administrator/.local/share/cua-repros/3704/certification-2e16e3d84/. These local paths are not public download links; hosted run artifacts are linked above.

Current-candidate test gates are complete. Maintainer review/approval and merge remain outstanding; no merge or release was performed.

Historical evidence and recorder investigation (not current-candidate certification)

Previously tested candidate: 603d50e6bc76d5cb0538f827b536c4d21f47c6ae. No behavioral retries.

Gate Result
macOS Lume 163/163 desktop + 18/18 installed-browser cases pass; strict recordings pass
Linux X11 All lanes pass: 131 behavior cases and installer smoke
Windows interactive Shared (86), capture (9), and installer pass; native preflight blocked
Unit/compile checks 365 macOS tests pass (2 ignored); 95 testkit tests pass; native target compiles

Blocker

Tracking the pre-existing recorder failure in #3713, with isolated diagnostic work and results in #3714.

The Windows native preflight failed production FFmpeg recording shutdown before native behavior cases ran.

This failure predates the stack: main bd4c10020cd7cac07c0d19b0f53ba4b007fbcb15 had the same native preflight failure, followed by a successful native run at that identical SHA. The recorder backend, recording manager, preflight test, and FFmpeg setup script are byte-identical between that baseline and the failing candidate.

This establishes a pre-existing intermittent failure, not a new failure class introduced by these PRs. It does not establish a pure harness bug: stop_recording itself reports failure. The backend loses the distinction between nonzero exit and its three-second shutdown timeout, with empty stderr. Next diagnosis must retain exit status, shutdown timing, stdin-send errors, and force-kill usage. Existing evidence is preserved; no retry or weakened validation.

Evidence provenance
  • Lume run: 20260910T152222Z-6ad05cea, exact candidate above, --standalone-browser, exit 0. Standard daemon restored; worker stopped and retained.
  • Maintainer-local evidence: /Users/administrator/.local/share/cua-lume-e2e/runs/20260910T152222Z-6ad05cea.
  • Baseline: cua-driver-browser-baseline-20260908-chrome152, derived from retained fix(cua-driver): correct macos click delivery and recording evidence #2907/feat(cua-driver): add target-scoped post-action rediscovery #3373 workers, not an immutable certified seed; official signed/notarized Chrome 152.0.7977.83.
  • Original native TDD red: ab8a4353c9a432bde15148b91da23773ae58515d; minimal green: f3acfd8f5b091fd85360f917121e5c57ca72a31e. Earlier failed/setup evidence remains retained under its original SHA. Authors and commit messages were preserved across stacking.

@injaneity
injaneity force-pushed the fix/3681-overlay-foreground branch from ead27a5 to 603d50e Compare September 10, 2026 15:13
@injaneity
injaneity changed the base branch from main to fix/3705-consent-labels September 10, 2026 15:13
@injaneity
injaneity added this pull request to stack #3710 September 10, 2026 18:49
@injaneity
injaneity force-pushed the fix/3681-overlay-foreground branch from 603d50e to eda1748 Compare September 10, 2026 18:58
@injaneity
injaneity marked this pull request as ready for review September 10, 2026 19:25
@injaneity
injaneity requested a review from f-trycua as a code owner September 10, 2026 19:25
Base automatically changed from fix/3705-consent-labels to main September 10, 2026 20:21
@injaneity
injaneity force-pushed the fix/3681-overlay-foreground branch 2 times, most recently from 733a3cb to f79dd5f Compare September 11, 2026 04:58
Require every activation in a fixed twenty-request overlap interval to succeed. Stop at the first refusal; never retry a failed request. This checks the timing-dependent contract rather than one scheduling instant.
…ification

Track only the renderer-owned native window identity and exclude it from the ordinary-window postcondition. Retain all process/focus checks and all other windows; no PID, title, bounds, or alpha heuristics. Refs #3681.
…ocus preservation

The foreground request may activate its target yet fail exact window ordering. Preserve background refusal oracles; permit only the window-state exact-activation code in the foreground refusal declaration and require the fixture-state oracle.
Fail rather than silently finish if the cursor producer expires before the activation interval. Verify focused window, ordinary foreground window, and front process on every response, stopping at the first mismatch.
@injaneity
injaneity force-pushed the fix/3681-overlay-foreground branch from f79dd5f to 2e16e3d Compare September 11, 2026 18:32
@injaneity
injaneity merged commit 44c9d1f into main Sep 11, 2026
60 checks passed
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