Overview
Presence tracks whether users are online or offline. The system automatically manages presence based on WebSocket connection state.Presence States
Automatic Presence
Presence is automatically managed:- Connect → User is marked
online - Disconnect → User is marked
offline - Reconnect → User is marked
onlineagain
Receiving Presence Updates
Presence updates are broadcast to relevant users:Handling Presence
Presence Scope
Presence events are delivered based on context:- Conversation members - Users in the same conversation
- Tenant-wide - Depending on configuration
Tracking Multiple Users
Deduplication
The system deduplicates presence events:- Multiple
onlineevents for the same user are collapsed - Only state changes trigger broadcasts
- Prevents flickering during reconnection
Complete Example
UI Patterns
Online Indicator
Online Users List
Best Practices
Debounce Updates
Debounce UI updates to prevent flickering during reconnection.
Default State
Assume ‘unknown’ for users without presence data.
Cache Presence
Cache presence state for quick lookups.
Graceful Fallback
Handle connection drops gracefully.
Next Steps
Typing
Typing indicators
Messaging
Real-time messaging
SDK Presence
SDK presence guide
Rooms
Room management