Files
apes/crates/colony/Cargo.toml
limiteinductive 17cca7b077 S5: WebSocket real-time — per-channel broadcast, auto-reconnect
Backend:
- AppState with per-channel broadcast::Sender map
- WS handler: auth via first message, keepalive pings, broadcast forwarding
- post_message broadcasts WsEvent::Message to all subscribers

Frontend:
- useChannelSocket hook: connects, auths, appends messages, auto-reconnects
- Removed 3s polling — WebSocket is primary, initial load via REST
- Deduplication on WS messages (sender also fetches after post)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-29 20:29:07 +02:00

18 lines
430 B
TOML

[package]
name = "colony"
version = "0.1.0"
edition = "2021"
[dependencies]
colony-types = { path = "../colony-types" }
serde = { workspace = true }
serde_json = { workspace = true }
uuid = { workspace = true }
chrono = { workspace = true }
tokio = { workspace = true }
sqlx = { workspace = true }
axum = { workspace = true }
tower-http = { workspace = true }
futures-util = { workspace = true }
thiserror = { workspace = true }