Commit graph

4 commits

Author SHA1 Message Date
Snider
3d6f14cd91 feat: modernise to Go 1.26 iterators and stdlib helpers
All checks were successful
Security Scan / security (push) Successful in 9s
Test / test (push) Successful in 3m49s
Add AllClients, AllChannels, AllSubscriptions iter.Seq iterators.
Use slices.Collect(maps.Keys()) in SendToChannel/Subscriptions,
range-over-int in calculateBackoff and benchmarks.

Co-Authored-By: Gemini <noreply@google.com>
Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-23 05:32:08 +00:00
Claude
f63c73b488
chore: sync workspace dependency versions
Run go work sync to align dependency versions across workspace.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 21:42:04 +00:00
Snider
da3df0077d feat(redis): add Redis pub/sub bridge for multi-instance Hub coordination
RedisBridge enables multiple Hub instances to coordinate broadcasts
and channel-targeted messages across processes via Redis pub/sub.
Uses envelope pattern with sourceID for infinite loop prevention.

Phase 3 items 1-2 complete. 15 tests including cross-bridge
messaging, loop prevention, concurrent publishes, and graceful
shutdown. Race-free under -race.

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-20 11:23:37 +00:00
Snider
e9425004e2 feat: extract go-ws from core/go pkg/ws
WebSocket hub with channel-based pub/sub. Zero internal dependencies.
Module: forge.lthn.ai/core/go-ws

Co-Authored-By: Virgil <virgil@lethean.io>
2026-02-19 16:08:52 +00:00