MessageItemGroupedRunPreview

A full conversation: a received same-sender run, the SAME sender returning after a >10-minute gap (which must start a new block with its own header), then a sent run. Grouping is computed with the real isSameGroup rule, so this pins the grouped treatment end to end — header only at the start of each block, 4dp flattened facing corners within a block, full rounding on the outer edges.