fix(cua-driver): preserve observed X11 click identities - #3
Draft
tanishqkancharla wants to merge 4 commits into
Draft
tanishqkancharla wants to merge 4 commits into
tanishqkancharla wants to merge 4 commits into
Conversation
This was referenced Sep 10, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
A Linux X11 click could activate a different control after the accessibility tree changed. In a real GTK regression, enabling a button before OK made the retained OK reference activate Cancel; removing OK made its old reference activate another button.
The driver now binds each observed index to the accessible object's unique D-Bus owner/path and owning frame, scoped to its runtime, process, window and snapshot. Click resolution follows that object, retains its proxy through delivery, and rejects missing or stale targets before input.
Related work
This draft is isolated on top of
codex/linux-text-selectionat 624fc7e. It does not replace the broader desktop changes in #2. Issues are disabled in this fork, so this PR records the reproduced problem and scope.RFC: not required for this correction to existing observed-target semantics; no public SDK, CLI or MCP schema changes.
Compatibility and risk
This correction covers X11 indexed clicks only. Other indexed operations, Wayland, coincident-window ambiguity and toolkit reuse of live object paths remain documented limitations. Existing core snapshot-token admission remains unchanged. X11 property-only snapshots cannot supply a proven AT-SPI target identity.
The candidate remains unpromoted; rollback is the preceding 624fc7e driver pin.
Validation
36078d7ac04e98fe48406b1c4d759ce67919186276c8bd32516fb68348a06e71).Contributor and release checks