fix(cua-driver): expose AT-SPI actions in get_window_state elements - #3307
fix(cua-driver): expose AT-SPI actions in get_window_state elements#3307Wangxiaoxiaoa wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
the linux finding is correct: the accessibility walk already reads action names, but get_window_state leaves them out of structuredContent.elements.
please change the scope before this lands. macos and windows have the same gap: both collect action names and both leave them out of the structured result. get_window_state is shared user-facing behavior, so fixing only linux would make the three platforms disagree.
please also add a linked issue or rfc for the public output change, replace the synthetic-only evidence with focused coverage on all three platforms, and provide native platform evidence. the current github checks cover only attribution and release metadata, so the rust validation in the description is not independently visible here.
finally, the production change is only the addition of one optional field. the large helper extraction and unrelated frame/token tests make this harder to review; please keep the patch focused unless that refactor is needed for shared cross-platform code.
The native AT-SPI walker already collects action names into AtspiNode.actions, but GetWindowStateTool never surfaced them in the structured elements array. This caused callers to see missing/empty actions even though perform_action/click could still inject the element. Emit actions as an optional field in the structured element entry when the list is non-empty. Validated with: - cargo fmt -- --check - cargo check -p platform-linux - cargo test -p platform-linux get_window_state_actions_tests
eb49aa5 to
97ad308
Compare
|
Superseded by #3377. |
The native AT-SPI walker already collects action names into AtspiNode.actions, but GetWindowStateTool never surfaced them in the structured elements array. This caused callers to see missing/empty actions even though perform_action/click could still inject the element.
Validated with:
Summary
Related work
Refs #
RFC (required for a public SDK, CLI, MCP, protocol, compatibility, permission,
or cross-component contract change):
Compatibility and risk
Validation
Contributor and release checks
no-releaselabel is applied.