Glossary
Unread Count
An unread count is the numeric badge displayed on a channel, room or conversation to indicate how many new messages a user has not yet opened or acknowledged.
General definition
Unread counts are the primary re-engagement signal in any messaging product. The badge on a channel icon or tab tells the user that something has happened since their last visit, drawing them back into the conversation without requiring a push notification. Accuracy is critical: inflated counts cause alert fatigue, while undercounted badges cause users to miss important messages.
- Per-room or per-channel count of messages delivered after the user’s last read position
- A global badge (total unread across all rooms) often displayed in the app navigation
- Cleared when the user opens the conversation and scrolls to the latest message, or via an explicit “mark as read” action
- Often computed server-side so the count is consistent across multiple devices
Unread counts can be computed client-side (tracking the last-seen message ID locally) or server-side (storing read positions centrally). Server-side computation is more reliable for multi-device users: if you read a message on mobile, the count on desktop clears automatically. For high-volume rooms, approximate counting or batched updates may be used to reduce database load.
In the Ethora ecosystem
Ethora computes unread counts server-side via the Chat SDK, so a user’s read position in a room is stored centrally and reflected consistently across web, iOS and Android. The SDK components display per-room badges and a global unread total automatically, and the REST API endpoint POST /v2/apps/{appId}/users/unread-counts lets you retrieve counts programmatically for custom notification logic.
Accurate server-side unread counts are especially valuable in healthcare and support workflows where a missed message can have real consequences. Counts feed into push notifications for offline users, ensuring that high-priority messages reach participants even when the app is not open.