Xgenious/ docs

Delivery & Read Receipts

Messages show WhatsApp-style double-checkmark ticks that indicate delivery and read status in real-time.

Tick States

IconStateMeaning
✓SendingMessage is being sent
✓✓ (grey)DeliveredMessage has been delivered to the recipient's device
✓✓ (blue)SeenMessage has been read by the recipient

How It Works

For the Sender

  1. Send a message — Single grey checkmark appears (sending state)
  2. Message delivered — Changes to double grey checkmarks
  3. Message read — Changes to double blue checkmarks

For the Receiver

  1. Receive a message — Message appears with no ticks (incoming)
  2. Open the chat — All unseen messages are marked as delivered and seen
  3. Real-time update — Sender sees ticks update to blue when you read

Features

  • Real-time updates — Tick status updates instantly via WebSocket
  • WhatsApp-style UI — Familiar double-checkmark design
  • Automatic marking — Messages are automatically marked as seen when you open the chat
  • Batch processing — All unseen messages are marked at once when chat is opened

Technical Details

Database Columns

The live_chat_messages table includes:

ColumnTypeDefaultDescription
is_deliveredtinyInteger00 = not delivered, 1 = delivered
is_seentinyInteger00 = not seen, 1 = seen

Broadcasting

  • Event: message-seen on private-chat.{chatId} channel
  • Payload: { liveChatId, seenBy, fromUser }
  • Delivery signal: seenBy=0 indicates delivery (not read)
  • Read signal: seenBy=1 indicates the message was read

Flow

  1. New message created with is_delivered=0
  2. Immediately updated to is_delivered=1 (simulating Pusher delivery)
  3. MessageSeenEvent fired with seenBy=0 (delivery signal)
  4. When recipient opens chat, updateUnSeen() marks messages as seen
  5. MessageSeenEvent fired with seenBy=1 (read signal)
  6. Sender's UI upgrades grey ticks to blue ticks

Benefits

  • Transparency — Know exactly when your message was delivered and read
  • Professional communication — Confirm important messages were received
  • Trust building — Clear communication status builds confidence
  • Conflict resolution — Proof of message delivery and read status

Last updated: September 2026

Still stuck?
Our support team is ready to help you get set up.
Get support