msgRead (8)

The msgRead message is an application-level acknowledgment indicating that the recipient has actively viewed a message (e.g., by opening the chat window). This provides the "read" or "seen" status in a chat interface.

Unlike msgReceived, this message is triggered by user action, not by the protocol stack itself.

Core Data Types

Payload Structure

The payload contains the unique ID of the message that has been read by the user.

FieldData TypeMinMaxDescription
readMessageIdIxiBytes1664The unique ID (StreamMessage.id) of the message that has been read.

Behavioral Notes

  • User-Triggered: This message is sent only when the user interface confirms that the corresponding message content has been displayed to the user.
  • Sender's Action: Upon receiving a msgRead confirmation, the sender's client should update the status of the original message to "read" or "seen".
  • Pending Queue: Receiving a msgRead also implicitly confirms delivery, so the client should remove the original message from the pending queue if it hasn't already received a msgReceived confirmation for it.