cua-driver/Windows: background Chrome click can miss or blur the foreground sentinel
Nobody has claimed this yet.
- Dominant language
- HTML
- Stars
- 24.2k
- Forks
- 1.7k
- Avg merge
- 22h 29m
- Merged PRs (30d)
- 190
Description
Problem
On a hosted Windows Server 2025 interactive desktop, a real Chrome target does not produce a deterministic safe result for background coordinate clicks on current main (3cadb5f82e7d2ed071a2082764276ec872a52135).
Observed outcomes across repeated runs include:
- a background scene click reaching the target once;
- point and scene clicks missing the target;
- the foreground sentinel recording a blur during the action.
The last outcome is the most serious: a background request must either deliver without disturbing the foreground desktop or return a structured refusal before acting.
Our canonical Windows matrix proves the stricter target-state, focus, z-order, cursor, and leaked-input oracles on repo-built Electron, Tauri, WPF, WinUI 3, and WebView2 fixtures. It does not currently prove the same route against standalone Chrome, so the surface-specific regression can escape that matrix.
Reproduction shape
- Launch Chrome with a deterministic page that journals button state.
- Fully occlude Chrome with a foreground sentinel that records focus, keyboard, pointer, and wheel events.
- Call
clickwith Chrome'spid,window_id, window-localx/y, anddelivery_mode:"background". - Assert target state and all foreground side-effect oracles.
- Repeat with fresh processes and both point- and scene-addressed routes.
Acceptance criteria
- The same action deterministically delivers under full occlusion or returns one exact structured refusal.
- A background result never blurs or lowers the foreground sentinel.
- Run at least three fresh-process seeds on
windows-latestand an interactive Windows VM. - Add an optional real-Chrome compatibility row that uses the same typed report and independent oracles as the canonical Rust catalog.
- Keep the repo-built shared harness as the canonical contract; use the Chrome row to detect materially different renderer/window-class behavior.
- Retain per-cell video, target journal, focus journal, and driver trajectory for failures.
Related
- #2176 tracks page/JS escalation when native background delivery is unavailable on web surfaces.
- #2193 introduced the current strict background E2E oracles and canonical Windows matrix.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the canonical Rust Windows matrix and shared harness introduced by #2193, then trace the background click route for a Chrome process using pid, window_id, and window-local coordinates. Add the optional real-Chrome compatibility row with the existing typed report and independent target, focus, z-order, cursor, and leaked-input oracles. Done means three fresh-process seeds run on windows-latest and an interactive Windows VM, with failure artifacts retained.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- electron, rust
- Domain
- desktop, operating-systems, testing-qa
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100