fix(session-ui): keep divider notices out of used groups (#48594)

This commit is contained in:
Luke Parker
2026-09-12 13:58:18 +10:00
committed by GitHub
Unverified
parent 60fb97d59e
commit 41e5d1b6b6
@@ -271,7 +271,7 @@ export namespace Timeline {
detail,
new Set(
messages
.filter((message) => message.type === "compaction" && timelineNoticeRequired(message))
.filter((message) => message.type === "compaction" || message.type === "model-switched")
.map((message) => message.id),
),
)
@@ -415,13 +415,13 @@ function shellFailed(message: SessionMessageShell) {
)
}
function groupMessages(rows: TimelineRow.TimelineRow[], detail: TimelineDetail, required: ReadonlySet<string>) {
function groupMessages(rows: TimelineRow.TimelineRow[], detail: TimelineDetail, separate: ReadonlySet<string>) {
return rows.reduce<TimelineRow.TimelineRow[]>((result, row) => {
const previous = result.at(-1)
const current =
((row._tag === "Notice" && detail.notices.placement === "grouped") ||
(row._tag === "Shell" && detail.shell.placement === "grouped")) &&
!required.has(row.messageID)
!separate.has(row.messageID)
? new TimelineRow.AssistantPart({
userMessageID: row.userMessageID,
previousAssistantPart: previous?._tag === "AssistantPart",