Sync embedded computer use to v0.2.9#543
Conversation
avifenesh
left a comment
There was a problem hiding this comment.
This is an auto review done by revuto.
Reviewed the v0.2.9 embedded computer-use sync. The async migration (ydotool/zbus/spawn_blocking), the GTK4 AT-SPI as_accessible_proxy destination-pinning fix, the cosmic-protocols move to crates.io (with matching flake.nix outputHashes removal — no git+ sources remain in Cargo.lock), the new codex-computer-use-cosmic bin (present on disk and wired into flake.nix install + Cargo.toml), and the relative-click bounds clamping all check out. The KDE clipboard path keeps a ydotool fallback (P14) and treats restore-after-paste failure as a warning, not an error (P15). One concern below.
| fn explicit_ydotool_socket_is_used_without_connectability_probe() { | ||
| let key = "YDOTOOL_SOCKET"; | ||
| let original = std::env::var_os(key); | ||
| std::env::set_var(key, " /does/not/exist.sock "); |
There was a problem hiding this comment.
This is an auto review done by revuto.
This test mutates the process-global YDOTOOL_SOCKET env var with set_var/remove_var and restores it manually. Per repo convention (P12), env-var mutation in computer-use tests must use a Drop-based RAII guard, not manual save/restore: if explicit_ydotool_socket() or the assertion panics, the restore lines never run and the var leaks into other tests. Concretely, ydotool_socket_selection_skips_unconnectable_candidates/accepts_datagram_socket and the backend-preference helpers (should_prefer_*_text_backend) all read YDOTOOL_SOCKET via ydotool_socket(), and Rust runs tests in parallel by default — a leaked /does/not/exist.sock value can flip their behavior nondeterministically. Wrap the save/set/restore in an RAII guard so the original value is restored on every exit path.
Summary
codex-computer-use-linuxcopy from the current upstream baseline (0.2.6-linux-alpha1) through the standalonecomputer-use-linuxv0.2.9 releaseRefs agent-sh/computer-use-linux#33
Refs agent-sh/computer-use-linux#34
Release/User-visible delta
0.2.9-linux-alpha1inCargo.toml,Cargo.lock, and the MCP tool handler literal.role: unknown,child_count: 0result when the app does not exposeGetApplicationBusAddress.cosmic-protocolsalignment used by the embedded build.Validation
cargo fmt --check -p codex-computer-use-linuxgit diff --checkcargo check -p codex-computer-use-linux --all-targetscargo test -p codex-computer-use-linuxcargo clippy -p codex-computer-use-linux --all-targets -- -D warningscargo build -p codex-computer-use-linuxnode /home/avifenesh/projects/computer-use-linux/scripts/zod-check/check.mjs --command target/debug/codex-computer-use-linuxtarget/debug/codex-computer-use-linux state nautilusreturnedorg.gnome.Nautilusas anapplicationroot withchild_count: 1and awindownode namedtmpwith action metadata