Message group
Thread coalescing: wraps a run of same-author message bubbles and shows the author/timestamp header once, suppressing it on the follow-up lines. Reclaims the vertical space a repeated header would eat on every burst. DayDivider marks the date breaks.
Included in the single kansho full pack. Components are not offered as separate installs.
Grouped vs. ungrouped
The header renders once for the whole burst — compare the repeated headers on the rightIn a thread — bursts and a day divider
Audit-log review
branch audit-log
Day divider on its own
Component documentation
Message Group
components/agent/message-group.tsxPurpose
Coalesces consecutive MessageBubble headers and provides a labelled day divider.
Appropriate use
Use for a same-author burst where repeating author and timestamp chrome would add noise.
Example
components/agent/message-group.tsx has a representative live example in the "Grouped vs. ungrouped" section on /components/message-group.
States
The first valid MessageBubble retains its header and later bubbles are cloned with hideHeader; DayDivider accepts any visible date label.
API and props
MessageGroup accepts React children and className; DayDivider accepts label and className.
Dependencies
Direct imports are React, MessageBubble, and cn.
Accessibility
DayDivider renders a separator with the supplied accessible label; message content order is unchanged.
Limitations
Only direct MessageBubble children are coalesced; it does not infer authors, virtualise threads, or manage live-message announcements.
Source
Source: components/agent/message-group.tsx.
Full pack
components/agent/message-group.tsx is documented at /components/message-group and installs only through the single Kansho full pack; no individual component install is offered.