Read Receipts
SetGet Chat tracks which messages you have read in each channel and DM conversation. This tracking powers unread count badges, helps you find new messages quickly, and keeps you oriented across multiple conversations.
How read tracking works
Every channel and DM conversation maintains a "last read" position for each member. This position records the timestamp of the most recent message you have seen. Any messages sent after that timestamp are considered unread.
The tracking mechanism:
- You open a channel or DM conversation.
- SetGet records the timestamp of the newest visible message as your last-read position.
- When new messages arrive while you are in the channel, your last-read position updates automatically.
- When you leave the channel, your last-read position is preserved.
- The next time you return, any messages after your saved position are marked as unread.
TIP
Read tracking is per-member and per-channel. Your read position in one channel has no effect on another channel's unread count.
Read status per message
SetGet tracks reads at the channel level (last-read timestamp), not at the individual message level. This means:
| Aspect | Behavior |
|---|---|
| Your own view | You see which channels have unread messages and how many |
| Other members' view | You cannot see whether a specific person has read a specific message |
| Per-message receipts | Not available (no "seen by" list on individual messages) |
This design keeps the interface clean and avoids the social pressure of per-message read receipts while still providing useful unread tracking for navigation.
Unread count badge
Unread counts appear as numeric badges in several places:
| Location | What it shows |
|---|---|
| Channel name in sidebar | Number of unread messages in that channel |
| DM conversation in sidebar | Number of unread messages in that conversation |
| Chat section header | Total unread count across all channels and DMs |
| Browser tab title | Aggregate unread count (e.g., "(5) SetGet") |
Badge behavior
| Scenario | Badge |
|---|---|
| No unread messages | No badge shown |
| 1-99 unread messages | Exact count displayed |
| 100+ unread messages | "99+" displayed |
| Channel is muted with unread messages | Muted badge style (dimmed) |
Muted channels still show an unread count, but with a subdued visual treatment so they do not demand the same attention as unmuted channels.
Mark as read on channel enter
The primary way messages are marked as read is by entering the channel:
- You click on a channel in the sidebar.
- The channel loads and scrolls to the first unread message (or to the bottom if there are few unreads).
- SetGet updates your last-read position to the newest message in the channel.
- The unread badge for that channel clears.
This automatic marking happens as soon as the channel content is rendered. You do not need to scroll to the bottom or click a button.
Scroll-based tracking
If you open a channel with many unread messages and scroll through only some of them:
- Your last-read position updates to the newest message visible on screen.
- If you do not scroll to the very bottom, some messages below your scroll position remain unread.
- The unread badge updates to reflect only the messages you have not scrolled past.
Mark all as read
If you have unread messages across many channels and want to clear them all at once:
- Right-click the Chat section header in the sidebar (or click the three-dot menu).
- Select Mark All as Read.
- All channel and DM unread counts are cleared.
This updates your last-read position in every channel and DM to the most recent message, regardless of whether you have viewed them.
WARNING
Mark All as Read is irreversible. Once cleared, you cannot recover the previous unread state. Use this when you are confident you do not need to review the unread messages.
Mark a single channel as read
To mark just one channel as read without opening it:
- Right-click the channel name in the sidebar.
- Select Mark as Read.
- The unread badge for that channel clears.
New message divider
When you open a channel with unread messages, a visual divider line appears in the message list:
--- Previous messages above ---
--- New messages ---
[First unread message]
[Second unread message]
...This divider marks the boundary between messages you have already read and new messages. It helps you quickly orient yourself and start reading from where you left off.
The divider disappears once you scroll past it and re-enter the channel (since all messages are now read).
Unread state and threads
Thread replies have their own unread tracking:
| Scenario | Unread behavior |
|---|---|
| New reply in a thread you follow | Thread shows unread indicator |
| New reply in a thread you do not follow | No unread indicator |
| Thread reply in a muted channel | Muted (no notification, subtle badge) |
Thread unread indicators appear on the parent message in the main channel as a highlighted reply count.
Troubleshooting
| Issue | Cause | Solution |
|---|---|---|
| Unread badge does not clear after opening a channel | Network delay in updating read position | Scroll to the bottom of the channel or refresh the page |
| Unread count seems incorrect | Messages arrived while the page was loading | Refresh the page to sync the latest state |
| "Mark All as Read" did not clear all badges | New messages arrived between the action and the UI update | Click "Mark All as Read" again |
Related pages
- Chat Overview — introduction to SetGet Chat
- Chat Notifications — notification preferences and muting
- Channels — channel management and membership
- Direct Messages — DM conversations and notifications
- Presence — see who is online