fix(gateway): resolve macOS App node shell command probing timeouts#83429
fix(gateway): resolve macOS App node shell command probing timeouts#83429htjworld wants to merge 1 commit into
Conversation
|
Codex review: needs real behavior proof before merge. Workflow note: Future ClawSweeper reviews update this same comment in place. How this review workflow works
Summary Reproducibility: yes. Source inspection shows the gateway can start automatic remote-bin probing during node connect, and the linked issue’s live report confirms automatic probe timeout while manual PR rating Rank-up moves:
What the crustacean ranks mean
Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics. Real behavior proof Risk before merge
Maintainer choices:
Next step before merge Security Review findings
Review detailsBest possible solution: Preserve app-backed node Do we have a high-confidence way to reproduce the issue? Yes. Source inspection shows the gateway can start automatic remote-bin probing during node connect, and the linked issue’s live report confirms automatic probe timeout while manual Is this the best way to solve the issue? No. The proposed path disables the documented macOS app-node exec surface, while the narrower maintainable solution is a readiness/order or co-location-specific probe fix that preserves valid remote app-node execution. Full review comments:
Overall correctness: patch is incorrect Acceptance criteria:
What I checked:
Likely related people:
Codex review notes: model gpt-5.5, reasoning high; reviewed against cd15ce35a0ee. |
|
Closing this as not planned for the remote mac/node exec lane. The risky bit is that this removes the app-node The safer fix direction is #85417: keep the app-node command contract intact, and make Codex app-server node-targeted sessions route through OpenClaw If the App node probe timeout still reproduces after that lands, the follow-up should be a narrower probe fix that does not remove declared node execution commands. |
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes #85090 and closes out #83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Fixes https://github.com/openclaw/openclaw/issues/85012.\n\nSupersedes openclaw#85090 and closes out openclaw#83429 as the wrong direction.\n\nVerification before merge:\n- git diff --check origin/main\n- node scripts/run-vitest.mjs extensions/codex/src/app-server/run-attempt.test.ts\n- codex review --base origin/main\n\nNote: the GitHub Real behavior proof check on this maintainer PR was a maintainer bypass, not the live Linux gateway/container plus macOS node proof. User approved merge with this caveat preserved on the PR thread.
Summary
Resolves a performance regression where macOS App nodes experience 10-second timeout delays during shell command probing when co-located with the gateway. Since App nodes do not execute shell commands,
system.runis excluded from their allowed command list, allowing the gateway to skip command probing entirely.This change ensures that
clientIdandclientModeare correctly forwarded during both node connection and pairing reconciliation flows. It also corrects the E2E test validation intest/app-node-probe.e2e.test.tsto utilize the valid client mode"node"(conforming toGatewayClientModeSchema) in combination with the"openclaw-macos"client ID, which successfully and safely classifies the client as an App Node under the gateway command policy.Related Issues
Real behavior proof
system.runto App nodes.