Skip to content

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:

  1. You open a channel or DM conversation.
  2. SetGet records the timestamp of the newest visible message as your last-read position.
  3. When new messages arrive while you are in the channel, your last-read position updates automatically.
  4. When you leave the channel, your last-read position is preserved.
  5. 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:

AspectBehavior
Your own viewYou see which channels have unread messages and how many
Other members' viewYou cannot see whether a specific person has read a specific message
Per-message receiptsNot 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:

LocationWhat it shows
Channel name in sidebarNumber of unread messages in that channel
DM conversation in sidebarNumber of unread messages in that conversation
Chat section headerTotal unread count across all channels and DMs
Browser tab titleAggregate unread count (e.g., "(5) SetGet")

Badge behavior

ScenarioBadge
No unread messagesNo badge shown
1-99 unread messagesExact count displayed
100+ unread messages"99+" displayed
Channel is muted with unread messagesMuted 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:

  1. You click on a channel in the sidebar.
  2. The channel loads and scrolls to the first unread message (or to the bottom if there are few unreads).
  3. SetGet updates your last-read position to the newest message in the channel.
  4. 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:

  1. Right-click the Chat section header in the sidebar (or click the three-dot menu).
  2. Select Mark All as Read.
  3. 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:

  1. Right-click the channel name in the sidebar.
  2. Select Mark as Read.
  3. 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:

ScenarioUnread behavior
New reply in a thread you followThread shows unread indicator
New reply in a thread you do not followNo unread indicator
Thread reply in a muted channelMuted (no notification, subtle badge)

Thread unread indicators appear on the parent message in the main channel as a highlighted reply count.

Troubleshooting

IssueCauseSolution
Unread badge does not clear after opening a channelNetwork delay in updating read positionScroll to the bottom of the channel or refresh the page
Unread count seems incorrectMessages arrived while the page was loadingRefresh the page to sync the latest state
"Mark All as Read" did not clear all badgesNew messages arrived between the action and the UI updateClick "Mark All as Read" again