Skip to content

Add read receipts#1736

Draft
bennycode wants to merge 8 commits intomainfrom
bennycode-last-read
Draft

Add read receipts#1736
bennycode wants to merge 8 commits intomainfrom
bennycode-last-read

Conversation

@bennycode
Copy link
Member

@bennycode bennycode commented Mar 5, 2026

Add read receipts to conversation messages in xmtp.chat

  • Sends a read receipt via conversation.sendReadReceipt() when a conversation view mounts, after syncing.
  • Adds a lastReadTimes map to the inbox store, updated by a new updateLastReadTimes action that fetches per-participant read timestamps from conversation.lastReadTimes().
  • A new useReadStatus hook computes per-message read status ('sent' or 'read') based on other participants' last read times, and passes it to each Message in MessageList.
  • Message headers display ✓ for sent and ✓✓ for read next to the timestamp in MessageContentWrapper.
  • Incoming read receipt messages in streamAllMessages trigger a lastReadTimes update and are filtered out of the visible message list.

Macroscope summarized 1b50808.

@vercel
Copy link

vercel bot commented Mar 5, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
xmtp-js-xmtp-chat Ready Ready Preview, Comment Mar 5, 2026 0:13am
1 Skipped Deployment
Project Deployment Actions Updated (UTC)
xmtp-chat-api-service Skipped Skipped Mar 5, 2026 0:13am

Request Review

@changeset-bot
Copy link

changeset-bot bot commented Mar 5, 2026

⚠️ No Changeset found

Latest commit: 1b50808

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant