Documentation Index

Fetch the complete documentation index at: https://docs.rocket.chat/llms.txt

Use this file to discover all available pages before exploring further.

Read Receipts

Prev Next

Read receipts allow users to confirm that their message was viewed. To enable this feature in your workspace, go to Manage → WorkspaceSettingsMessage. 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.

Enabling this setting can significantly affect system performance. It is not recommended for production environments and should be used only for testing or troubleshooting.

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.

Enabling this setting on a workspace with a large volume of read receipts may cause the initial migration to run for an extended period and affect production performance. Clean up or manually migrate existing read receipt data before enabling the setting.

Archive Retention Days

Enter the number of days to keep read receipts in hot storage before moving them to cold storage. For example, enter 30 to retain read receipts in hot storage for 30 days.

Archive Cron Schedule

Enter a cron expression that defines when the archiving process runs. The default expression, 0 2 * * *, runs the process daily at 2:00 AM.

Archive Batch Size

Enter the maximum number of read receipts to process in each batch. For example, enter 10000 to process up to 10,000 receipts per batch. Smaller batches reduce server load but take longer to complete.

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_receipts collection. 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.

  1. Copy the existing read receipts to the archive collection:

    db.rocketchat_read_receipts.aggregate([ { $merge: { into: "rocketchat_read_receipts_archive", whenMatched: "keepExisting" } } ])
  2. Mark the messages so that Rocket.Chat retrieves their read receipt data from the archive:

    db.rocketchat_message.updateMany( {}, { $set: { receiptsArchived: true } } )
  3. 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.