mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-09 13:21:42 +00:00
On X11 a window's PID comes from the optional _NET_WM_PID property, so cua-driver's list_windows legitimately returns pid: null for windows that don't set it (desktop root, panels, override-redirect popups). capture() and focus_app() coerced every entry via int(w["pid"]) inside a list comprehension, so a single null-pid window raised TypeError and aborted the whole enumeration before any screenshot — capture was impossible on any X11 desktop with even one such window. Route both ingestion sites through a new _ingest_windows() helper that skips entries lacking a usable pid/window_id (uncapturable anyway) and coerces the rest. Adds tests/tools/test_computer_use_null_pid_windows.py covering the helper's filtering/coercion and an end-to-end capture() regression that reproduced the crash. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| backend.py | ||
| cua_backend.py | ||
| doctor.py | ||
| permissions.py | ||
| schema.py | ||
| tool.py | ||
| vision_routing.py | ||