MessageFooter

Renders the message footer (name, status, timestamp, and edited label). Uses MessageStatus for delivery/read state and MessageTimestamp for the timestamp. The "Edited" label is rendered inline here — see Message Edited Timestamp.

Best Practices

  • Keep footer content minimal to reduce visual noise.
  • Use formattedDate when you need full control over timestamp text.
  • Keep showMessageStatus behavior aligned with message ownership rules.
  • Avoid expensive logic in custom footer components.
  • Keep read receipts consistent with your product's privacy settings.

Props

PropDescriptionType
dateTimestamp shown in the message footer.string | Date | undefined
formattedDateAlready formatted date to display instead of computed timestamp.string | Date | undefined
alignmentSets whether the message aligns left or right in the list. Defaults to 'right'.enum('right', 'left')
lastGroupMessageWhether or not this is the last message in a group of messages.boolean
membersMembers of current channel. Returns only up to 100 members; use client.queryMembers() for larger channels.object
messageMessage object.Message type
isMessageAIGeneratedFactory function that determines whether a message is AI-generated. Read from MessageContext; the "Edited" label is suppressed for AI-generated messages.function
showMessageStatusWhen false, message status (read receipt, pending indicator) isn't rendered. Defaults to true for messages sent by the current user.boolean

UI Component Props

PropDescriptionType
MessageStatusComponent used to render delivery/read state. Defaults to MessageStatus.ComponentType
MessageTimestampComponent used to render the message timestamp. Defaults to MessageTimestamp.ComponentType