Skip to content

fix(computer-use): stop using missing is_editable_text on Linux - #13562

Closed
bbingz wants to merge 1 commit into
stablyai:mainfrom
bbingz:fix/10569-linux-set-value-editable-text
Closed

fix(computer-use): stop using missing is_editable_text on Linux#13562
bbingz wants to merge 1 commit into
stablyai:mainfrom
bbingz:fix/10569-linux-set-value-editable-text

Conversation

@bbingz

@bbingz bbingz commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Linux set-value called node.is_editable_text, which is not an AT-SPI Accessible attribute and raised AttributeError before the existing attempt() guard.
  • Use get_editable_text_iface + EditableText.set_text_contents (with Value iface fallback) instead.

Test plan

  • On Linux with computer-use: orca computer set-value --app … --element-index n --value test on an editable field succeeds
  • Code path is pure Python; no unit harness for AT-SPI in CI

Fixes #10569

Atspi.Accessible has no is_editable_text attribute, so set_value raised
before attempt() could catch it. Probe get_editable_text_iface directly.

Fixes stablyai#10569.
@bbingz
bbingz force-pushed the fix/10569-linux-set-value-editable-text branch from a0d9c05 to 13b9d5e Compare August 10, 2026 09:14
@coderabbitai

coderabbitai Bot commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

set_value now detects editability by probing the editable-text interface directly. When available, it sets text through Atspi.EditableText. The existing value-interface fallback remains unchanged.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The description includes the change summary and test plan but omits the required Screenshots, Testing, AI Review Report, Security Audit, and Notes sections. Add all required template sections, including No visual change when applicable, test checkboxes or rationale, AI review details, security audit findings, and platform-specific notes.
✅ Passed checks (4 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The code change directly addresses issue #10569 by replacing the unavailable node.is_editable_text call with get_editable_text_iface() to detect and set editable text on Linux.
Out of Scope Changes check ✅ Passed All changes in runtime.py are directly related to fixing the set_value function to comply with issue #10569; no out-of-scope modifications are present.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Title check ✅ Passed The title clearly and concisely describes the fix for the missing Linux is_editable_text attribute.

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@bbingz

bbingz commented Aug 10, 2026

Copy link
Copy Markdown
Contributor Author

Closing as duplicate of #10586.

#10586 already lands the same Linux get_editable_text_iface probe plus the ATSPI-stubbed set_value_test.py suite and verify-computer-native guardrails against reintroducing is_editable_text. Keeping a probe-only PR (#13562) would split review for #10569; prefer the fuller merge path.

@bbingz bbingz closed this Aug 10, 2026
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.

[Bug]: Orca's computer use set-value fails with 'Accessible' object has no attribute 'is_editable_text' on Linux Mint 22.3 x86_64 (Ubuntu 24.04)

1 participant