Hide duplicate snapshot lines and the turn-end line before a snapshot

This commit is contained in:
Ian Gulliver
2026-10-20 21:08:00 -07:00
parent 53f20e40d3
commit 1d3c4576ff
3 changed files with 27 additions and 17 deletions
+12 -2
View File
@@ -518,11 +518,21 @@ final class TranscriptBuilder {
if ev.kind == "snapshot.created" {
ctx.run = nil
let snap = try! decodePayload(ev.payload, as: Snapshot.self)
let row = Row(.snapshot(snap), taskId: rowTask)
ctx.snapshots[snapKey(snap.n)] = row
if ![.answer, .fork, .askHuman].contains(snap.trigger) && sink == nil && own {
lastReady = nil
}
release()
let prev = (ctx.handoff?.body ?? sink ?? root).rows.last { !$0.hidden }
if let prev, case .snapshot(let p) = prev.kind, p.treeSha == snap.treeSha, prev.taskId == rowTask {
ctx.snapshots[snapKey(snap.n)] = prev
continue
}
let row = Row(.snapshot(snap), taskId: rowTask)
ctx.snapshots[snapKey(snap.n)] = row
if let prev, case .turnEnd(nil) = prev.kind {
prev.hidden = true
row.summarySeq = prev.summarySeq
}
put(row)
continue
}