Kanshō/Message group

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 right
grouped
Assistant
Three of the five commits are doc-only.
The fourth adds a new event type to the audit-log enum.
That touches the persistence layer — worth a look against the existing index.
ungrouped
Assistant
Three of the five commits are doc-only.
Assistant
The fourth adds a new event type to the audit-log enum.
Assistant
That touches the persistence layer — worth a look against the existing index.

In a thread — bursts and a day divider

Audit-log review

branch audit-log

You
Can you summarise the last 5 commits on the audit-log branch?
And flag anything that looks like a regression.
Assistant
I'll pull the log and scan the diffs for risky patterns.
Three of the five commits are doc-only.
The fourth adds a new event type to the audit-log enum — worth a review against the existing index.

Day divider on its own

Component documentation

Message Group

components/agent/message-group.tsx

Purpose

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.