Skip to content

fix: traverse deep GTK4 accessibility trees - #86

Merged
avifenesh merged 1 commit into
mainfrom
agent/fix-nautilus-atspi-depth-85
Aug 11, 2026
Merged

fix: traverse deep GTK4 accessibility trees#86
avifenesh merged 1 commit into
mainfrom
agent/fix-nautilus-atspi-depth-85

Conversation

@avifenesh

Copy link
Copy Markdown
Collaborator

Summary

  • raise the default raw AT-SPI snapshot budget from 120 to 1,000 nodes, with a 2,000-node hard cap
  • raise the default traversal depth from 12 to 32, with a depth-64 hard cap
  • use the same bounded limits for the MCP get_app_state tool and CLI state command
  • document the limits in the MCP schema and cover the Nautilus 50 boundary with regression tests

Root cause

Nautilus 50's GTK4 accessibility tree places its file-list cells well below the old depth-12 cutoff. On the matching Ubuntu 26.04 / GNOME 50.1 / Nautilus 50.0 environment, the old walk stopped after 33 raw nodes and never reached the actionable descendants. The first file cells appear at depth 23, and the complete local tree reaches depth 29 with 606 raw nodes.

The existing GTK4 proxy-destination fix from #31 is working; this was a separate traversal-limit issue. Compaction only had high-level nodes available because the raw walk had already stopped.

Validation

  • cargo fmt --all -- --check
  • cargo test --locked --no-fail-fast (237 library tests, 7 helper tests, 1 integration test)
  • cargo clippy --locked --all-targets -- -D warnings
  • scripts/mcp_safety_check.py --binary target/debug/computer-use-linux
  • node scripts/zod-check/check.mjs --command target/debug/computer-use-linux
  • npm pack --dry-run
  • live MCP smoke on Ubuntu 26.04, GNOME Shell 50.1, Nautilus 50.0: get_app_state returned 271 compacted nodes from 606 raw nodes, including 76 named grid cells, with no accessibility error

Closes #85

@avifenesh
avifenesh marked this pull request as ready for review August 11, 2026 21:15
@avifenesh
avifenesh merged commit e6ee307 into main Aug 11, 2026
22 checks passed
@avifenesh avifenesh mentioned this pull request Aug 11, 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.

Nautilus (GTK4) tree still shallow: 4 nodes vs 858 via gi.Atspi

1 participant