fix(pairing): reconnect after device approval#598
Conversation
|
Codex review: needs changes before merge. Reviewed May 30, 2026, 1:33 AM ET / 05:33 UTC. Summary Reproducibility: yes. Source inspection gives a high-confidence path: simulate a pairing-required connect, let the socket close, then an approved reconnect can produce hello-ok while the manager is still in PairingRequired, where HandshakeSucceeded is rejected. Review metrics: none identified. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Copy recommended automerge instructionNext step before merge
Security Review findings
Review detailsBest possible solution: Land a focused fix that lets an approved reconnect transition the operator from PairingRequired to Connected while preserving the PairingRequired UI only during the pending-approval window. Do we have a high-confidence way to reproduce the issue? Yes. Source inspection gives a high-confidence path: simulate a pairing-required connect, let the socket close, then an approved reconnect can produce hello-ok while the manager is still in PairingRequired, where HandshakeSucceeded is rejected. Is this the best way to solve the issue? No. Changing only the low-level reconnect predicate is not enough; the manager/state-machine path also needs to recognize the successful approved reconnect and leave PairingRequired. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model gpt-5.5, reasoning high; reviewed against b163d741ed4d. Label changesLabel changes:
Label justifications:
Evidence reviewedAcceptance criteria:
What I checked:
Likely related people:
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. How this review workflow works
|
Summary
Validation
git diff --check origin/master...HEADdotnet test ./tests/OpenClaw.Shared.Tests/OpenClaw.Shared.Tests.csproj --logger "console;verbosity=minimal"(2039 passed, 29 skipped)dotnet test ./tests/OpenClaw.Tray.Tests/OpenClaw.Tray.Tests.csproj --logger "console;verbosity=minimal"(870 passed).agents/skills/autoreview/scripts/autoreview --mode branch --base origin/master --parallel-tests "git diff --check origin/master...HEAD"(clean)Notes
./build.ps1was attempted on the clean Windows crabbox image, but that image lacks Node.js and the Windows 10 SDK. CI should cover the full WinUI build on the proper runner image.