Skip to content

fix(cua-driver): ignore macOS compositor sibling surfaces - #2908

Merged
f-trycua merged 1 commit into
mainfrom
codex/fix-macos-background-window-classification
Aug 5, 2026
Merged

fix(cua-driver): ignore macOS compositor sibling surfaces#2908
f-trycua merged 1 commit into
mainfrom
codex/fix-macos-background-window-classification

Conversation

@f-trycua

@f-trycua f-trycua commented Aug 5, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • count only independently AX-mapped top-level sibling windows as competing macOS keyboard destinations
  • ignore raw layer-0 compositor surfaces that cannot independently become the AX key window
  • preserve fail-closed refusal for a real mapped, non-minimized sibling window
  • add focused fact-gathering regression tests

Closes #2905.

Release certification evidence

The 0.18.0 exact-SHA canonical macOS run produced 28 same_pid_keyboard_ambiguity failures across Electron, Tauri, WKWebView, and AppKit. Each single-window web fixture was reported as having five same-PID layer-0 siblings because raw WindowServer compositor surfaces were counted as windows.

The separate Electron foreground pixel-drag failure remains tracked in #2906 and is not changed here.

Tests

  • cargo fmt --manifest-path libs/cua-driver/rust/Cargo.toml --all -- --check
  • cargo test --manifest-path libs/cua-driver/rust/Cargo.toml -p platform-macos --lib (331 passed)

Follow-up certification

Before merge, rerun the affected background keyboard/editor cells and the real two-window ambiguity regression in a clean macOS VM. After merge, rerun the full canonical macOS matrix before publishing a release.

@f-trycua
f-trycua force-pushed the codex/fix-macos-background-window-classification branch from 889844a to 9c48934 Compare August 5, 2026 19:43
@f-trycua
f-trycua merged commit df57e61 into main Aug 5, 2026
16 checks passed
@f-trycua
f-trycua deleted the codex/fix-macos-background-window-classification branch August 5, 2026 19:52
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.

macOS background keyboard gate counts compositor surfaces as sibling windows

1 participant