Improve remote gateway setup and connection error recovery#828
Conversation
|
Codex review: needs maintainer review before merge. Reviewed June 26, 2026, 2:47 PM ET / 18:47 UTC. Summary Reproducibility: not applicable. as a PR implementing setup UX and recovery improvements rather than a standalone bug report. Source inspection plus inspected tray screenshots cover the visible Direct setup behavior; live recovery-state reproduction was not provided. Review metrics: 2 noteworthy metrics.
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:
Next step before merge
Security Review detailsBest possible solution: Land the bounded setup/recovery UX improvements if maintainers accept the credential-transport copy and keep credential persistence owned by GatewayRegistry and GatewayConnectionManager. Do we have a high-confidence way to reproduce the issue? Not applicable as a PR implementing setup UX and recovery improvements rather than a standalone bug report. Source inspection plus inspected tray screenshots cover the visible Direct setup behavior; live recovery-state reproduction was not provided. Is this the best way to solve the issue? Yes. The current approach keeps connection lifecycle and credential persistence in the existing GatewayConnectionManager/GatewayRegistry boundary, removes the earlier unsupported Basic-auth copy, and adds focused shared classifier coverage. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 1c377cb64b65. Label changesLabel changes:
Label justifications:
Evidence reviewedWhat 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
|
d96233a to
068f64f
Compare
Add RemoteGatewayClassifier + GatewayErrorClassifier in OpenClaw.Shared and wire ConnectionPage remote setup advice, scope/token-drift/TLS recovery, and localized strings. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
068f64f to
d001762
Compare
|
Thanks @clawsweeper — addressed the blocking finding (option 1). Removed the unsupported Basic-auth /
Shared-token, setup-code pairing, TLS, and SSH guidance are unchanged. No credential storage, precedence, protocol, or MCP behavior was added — this was copy-only. Validation re-run: Head is now d001762. |
Summary
Change Type (select all)
Scope (select all touched areas)
winnodeLinked Issue/PR
Validation
./build.ps1Shared,Cli,WinNodeCli,SetupEngine,WinUI).dotnet test .\tests\OpenClaw.Tray.Tests\OpenClaw.Tray.Tests.csprojdotnet test .\tests\OpenClaw.Shared.Tests\OpenClaw.Shared.Tests.csprojdotnet test .\tests\OpenClaw.Connection.Tests\OpenClaw.Connection.Tests.csproj... OpenClaw.Shared.Tests --filter "FullyQualifiedName~Classifier"→ 78 passed / 0 skipped.... OpenClaw.Connection.Tests --filter "FullyQualifiedName~SetupCodeFlowTests"→ 15 passed / 0 skipped.Real behavior proof
bkudiess-stunning-funicular, branchbkudiess-remote-gateway-parity(Connection → Add gateway → Direct).ws://gateway.example.com:18789(cleartext warning), thenwss://gateway.example.com:18789(TLS green) to confirm the InfoBar updates when severity changes.Evidence after fix — captured live from the running tray app:
ws://URL shows the yellow "Unencrypted connection" InfoBar (token would be sent in cleartext).wss://flips the InfoBar to green "Encrypted (TLS)" — confirming the refresh fix.Test evidence:
Classifier proof:
Passed! - Failed: 0, Passed: 78, Skipped: 0, Total: 78.Setup-code proof:
Passed! - Failed: 0, Passed: 15, Skipped: 0, Total: 15.MCP server logs: Not applicable — this PR does not modify the local MCP server, MCP transport, node capabilities,
winnode, or MCP tool schemas. No MCP-server log is produced by this UI-only path.Not verified / blocked: No live gateway. Recovery-state copy (token drift / scope / rate-limit) is covered by unit/focused tests because reproducing those real gateway states requires a configured gateway fixture.
Security Impact (required)
No)Yes)No)No)No)Yes, explain risk + mitigation:ws://would send a token unencrypted.Compatibility / Migration
Yes)No)No)Review Conversations