Architecture
Data Flow
Events travel from the streaming platform to your widget code in four steps:Connection Lifecycle
Auto-Reconnect
The transport layer handles disconnects automatically. If the WebSocket drops:- Reconnects with exponential backoff
- Re-authenticates with the same token
- Replays any queued store writes
- Resumes event delivery
Components
| Component | What It Does |
|---|---|
| Transport | Socket.IO connection with auto-reconnect and heartbeat |
| Event Bus | Routes events to widget listeners (on, once, off, after) |
| Activity Normalizer | Converts raw Kick/Rumble/Blaze payloads into typed Activity objects |
| Queue Manager | Sequences alert presentation by priority, prevents overlap |
| Store | Persistent key-value storage with offline write queue |
| Service Registry | Background worker lifecycle (init, dispose, event forwarding) |
| Session Runtime | Channel state, goals, emotes, field data |