Show a merge's push to the remote while it runs

This commit is contained in:
Ian Gulliver
2026-10-21 19:42:28 -07:00
parent f57741f33d
commit 447e07861e
6 changed files with 374 additions and 364 deletions
+1
View File
@@ -40,6 +40,7 @@ struct TaskState {
private let stateTitles: [ByreTask.StatePayload: TaskState] = [
.asking: TaskState(kind: .answer, label: "Needs your answer", title: "The agent asked a question"),
.merging: TaskState(kind: .merging, label: "Merging", title: "The merge is under way"),
.pushing: TaskState(kind: .merging, label: "Pushing", title: "byre is pushing the merge commit to the remote"),
.mergeHeld: TaskState(kind: .held, label: "Merge held", title: "Waiting for the merge in progress in this project to finish"),
.mergeAfterReview: TaskState(kind: .held, label: "Merge after review", title: "Merges when the running review finishes with no findings"),
.running: TaskState(kind: .working, label: "Working", title: "The agent is mid-turn or its subagents are running"),
+3
View File
@@ -965,6 +965,9 @@ final class TranscriptBuilder {
let pushed = str(p, "pushed") ?? ""
return note([.text("✓ \(ev.actor) merged the task\(commit.isEmpty ? "" : " as \(commit.prefix(7))")\(pushed.isEmpty ? "" : " and pushed it to \(pushed)")")], .ok)
case "task.pushing":
return note([.text("pushing \(jsString(p["commit"]).prefix(7)) to \(jsString(p["pushed"]))…")])
case "task.merged_to_main":
return note([.text("\(ev.actor) merged the work so far as \(jsString(p["commit"]).prefix(7)), \"\(jsString(p["merge_title"]))\", pushed it to \(jsString(p["pushed"])) and kept the task open")])