mirror of
https://github.com/openclaw/openclaw.git
synced 2026-08-21 14:56:28 +00:00
* fix(computer-use): unblock the macOS live-rig proof flow The rig ran its operator CLI and its proof runner from one state dir, so both shared one device identity. A paired operator device is pinned to the scopes of its first connect, and `nodes list` connects first for `node.pair.list` (operator.pairing); the proof runner then needs operator.write, which is a scope upgrade the gateway never approves silently and which no rig client can approve for itself. The proof runner is a GATEWAY_CLIENT/BACKEND client, so on a loopback auth-none gateway it is admitted unpaired with the scopes it asks for: giving the CLI its own `cli-state` identity is enough, and `agent-state` now never accumulates a pairing row. `nodes list` also read `node.list` through the plain CLI client while `nodes status`/`describe` used the diagnostics ladder. On any gateway where the CLI must pair, the unfiltered list silently dropped connected/commands/ computerUse and `--connected` failed outright, so the documented rig gate could not confirm the node. Both call sites now use `callNodeDiagnosticsGatewayCli`. Docs drop the `devices approve <requestId>` instruction, which was circular: that invocation is its own new device identity. * test(cli): share the runtime-log formatter across nodes CLI e2e files The extracted diagnostics-auth file stringified captured log arguments directly, which the type-aware core lint stripe rejects (no-base-to-string). Move the existing formatter into the shared node test helpers instead of duplicating it. |
||
|---|---|---|
| .. | ||
| computer-use-linux-x11-fixture.py | ||
| computer-use-macos-live-proof.ts | ||
| computer-use-macos-live-rig.sh | ||
| discord-acp-plain-language-smoke.ts | ||
| gateway-smoke.ts | ||
| gateway-ws-client.ts | ||
| ios-node-e2e.ts | ||
| ios-pull-gateway-log.sh | ||
| realtime-talk-live-smoke.ts | ||
| test-device-pair-telegram.ts | ||
| tui-pty-test-watch.ts | ||