Read receipts allow users to confirm that their message was viewed. To enable this feature in your workspace, go to Manage → Workspace → Settings → Message. On the Message settings page, go to the Read receipts tab and update the following settings:
Field | Description |
|---|---|
Show Read Receipts | Enable this setting to display read receipt indicators on messages. A grey single checkmark indicates that a message was delivered. When all participants have read the message, the indicator changes to a blue double checkmark. |
Detailed Read Receipts | Enable this setting to record and display the users who have read each message. To view the reader list, open the message actions menu and select Read receipts. The dialog displays each reader together with the corresponding date and time.
|
Enable Read Receipts Archive | Enable this setting to move read receipts older than the configured retention period from hot storage to cold storage. This reduces the amount of read receipt data stored in the primary collection.
|
Archive Retention Days | Enter the number of days to keep read receipts in hot storage before moving them to cold storage. For example, enter |
Archive Cron Schedule | Enter a cron expression that defines when the archiving process runs. The default expression, |
Archive Batch Size | Enter the maximum number of read receipts to process in each batch. For example, enter |
Once these settings are saved, the read receipts are immediately available in rooms.
Read receipts on thread replies
Thread replies use the same read receipt indicators as messages in the room. A grey single checkmark indicates that the reply was delivered. A blue double checkmark indicates that all participants have read it.
Adding a reaction to a message in a thread marks the message as read for the reacting user. When all participants have read the message, its read receipt changes to the blue double checkmark immediately. No additional text reply is required.
This behavior applies only when Show Read Receipts is enabled.
To see who has read a reply, open the message actions menu and select Read receipts. The reader list is available only when Detailed Read Receipts is enabled. When this setting is disabled, the read receipt indicator remains available, but the reader list does not.
Prepare existing read receipts for archival
When you enable read receipt archiving, Rocket.Chat begins moving existing read receipt data to cold storage. On workspaces with large datasets, the initial migration can take a long time and affect system performance.
Before enabling the setting, choose one of the following options based on whether you need to preserve your existing read receipt history.
Delete existing read receipt data
Use this option if you do not need to preserve historical read receipts and want to start with an empty read-receipts collection.
The following command permanently deletes all documents from the
rocketchat_read_receiptscollection. Confirm that you are connected to the correct database and create a backup before continuing.
db.rocketchat_read_receipts.deleteMany({})After the command completes successfully, enable Read Receipts Archive in the workspace settings.
Manually migrate existing read receipt data
Use this option if you want to preserve historical read receipts by copying them to the archive collection before enabling automatic archiving.
Complete the following steps in order.
Copy the existing read receipts to the archive collection:
db.rocketchat_read_receipts.aggregate([ { $merge: { into: "rocketchat_read_receipts_archive", whenMatched: "keepExisting" } } ])Mark the messages so that Rocket.Chat retrieves their read receipt data from the archive:
db.rocketchat_message.updateMany( {}, { $set: { receiptsArchived: true } } )Verify that the read receipts were copied successfully. Then remove them from the hot-storage collection:
db.rocketchat_read_receipts.deleteMany({})
After completing the migration, enable Read Receipts Archive in the workspace settings.
Test this procedure in a non-production environment first and create a recent database backup. For large datasets, run the commands during a scheduled maintenance window.