Commit Graph

2 Commits

Author SHA1 Message Date
Sytone
1d836390e9
feat: SSH tunnel gateway, device identity, reconnect hardening
Adds SSH local port-forward support for secure remote gateway access, Ed25519 device identity for operator auth, enhanced Quick Send with error remediation, reconnect resilience, and OpenClaw.Cli validator tool.

Includes security fix: SSH user/host input validation to prevent command injection.

615 tests pass (516 shared + 99 tray).

Contributed by @sytone
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-04-01 00:03:43 -07:00
Scott Hanselman
76f7811a14
Refactor: Extract WebSocketClientBase (DRY #63)
Extracts ~200 lines of duplicated WebSocket lifecycle code into shared abstract base class.

- Template method pattern: base owns lifecycle, subclasses override hooks
- ProcessMessageAsync always async (Task.CompletedTask for sync gateway)
- Private _webSocket, subclasses use SendRawAsync only
- 20 new base class tests, 596 total pass
- 399 lines removed, net ~170 less production code

Closes #63

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-18 09:59:00 -07:00