WebSocket hub with channel-based pub/sub
Find a file
Claude 13d9422b74
feat(ws): phase 0 coverage (98.5%) + phase 1 connection resilience
Phase 0: Fix SendToChannel data race (client map iterated outside lock),
add 16 test functions covering all edge cases, benchmarks, and integration
tests. Coverage 88.4% -> 98.5%. go vet clean, race detector clean.

Phase 1: Add HubConfig with configurable heartbeat/pong/write timeouts
and OnConnect/OnDisconnect callbacks. Add ReconnectingClient with
exponential backoff, max retries, and OnConnect/OnDisconnect/OnReconnect
state callbacks. Full test coverage for all resilience features.

Co-Authored-By: Charon <developers@lethean.io>
2026-02-20 01:17:56 +00:00
CLAUDE.md feat(ws): phase 0 coverage (98.5%) + phase 1 connection resilience 2026-02-20 01:17:56 +00:00
FINDINGS.md feat(ws): phase 0 coverage (98.5%) + phase 1 connection resilience 2026-02-20 01:17:56 +00:00
go.mod feat: extract go-ws from core/go pkg/ws 2026-02-19 16:08:52 +00:00
go.sum feat: extract go-ws from core/go pkg/ws 2026-02-19 16:08:52 +00:00
TODO.md feat(ws): phase 0 coverage (98.5%) + phase 1 connection resilience 2026-02-20 01:17:56 +00:00
ws.go feat(ws): phase 0 coverage (98.5%) + phase 1 connection resilience 2026-02-20 01:17:56 +00:00
ws_test.go feat(ws): phase 0 coverage (98.5%) + phase 1 connection resilience 2026-02-20 01:17:56 +00:00