Make merge dialog Enter follow the task's offered merge action
This commit is contained in:
@@ -295,7 +295,7 @@ final class ChatModel {
|
||||
if let r = row.review, r.snapshotN == latest, findingOpen(r, i) {
|
||||
open.append(row.id)
|
||||
}
|
||||
case .ready(_, _, let d, _) where row.id == builder.lastReady && active:
|
||||
case .ready(_, _, let d) where row.id == builder.lastReady && active:
|
||||
ready.append(row.id)
|
||||
discard = d
|
||||
default:
|
||||
@@ -644,7 +644,7 @@ private struct MergeButton: View {
|
||||
: "The agent merges \(target) in, then byre squashes into one commit on \(target) and pushes it to origin; held while another task in the project is merging (⌘S)"
|
||||
Button(intoParent ? "Merging into parent" : held ? "Merge held" : task.mergeAfterReview ? "Merge after review" : keepOpen == false ? "Merge & complete" : "Merge") {
|
||||
Task {
|
||||
await confirmMerge(task.id, store, overlays)
|
||||
await confirmMerge(task.id, store, overlays, keepOpen: keepOpen)
|
||||
}
|
||||
}
|
||||
.buttonStyle(WebButtonStyle(primary: primary))
|
||||
@@ -1264,8 +1264,8 @@ struct RowView: View {
|
||||
case .findingResponse(let snapshot, let index, let response, let reason):
|
||||
FindingResponseView(row: row, model: model, snapshot: snapshot, index: index, response: response, reason: reason)
|
||||
|
||||
case .ready(let when, let blocks, let discard, let keepOpen):
|
||||
ReadyBubble(when: when, blocks: blocks, discard: discard, keepOpen: keepOpen, taskId: row.taskId, latest: row.id == model.builder.lastReady, unmerged: model.hasUnmerged)
|
||||
case .ready(let when, let blocks, let discard):
|
||||
ReadyBubble(when: when, blocks: blocks, discard: discard, taskId: row.taskId, latest: row.id == model.builder.lastReady, unmerged: model.hasUnmerged)
|
||||
|
||||
case .handoff:
|
||||
DetailsBox(boxed: false) {
|
||||
@@ -1385,7 +1385,6 @@ private struct ReadyBubble: View {
|
||||
let when: Date
|
||||
let blocks: [MDBlock]
|
||||
let discard: Bool
|
||||
let keepOpen: Bool
|
||||
let taskId: String?
|
||||
let latest: Bool
|
||||
let unmerged: Bool
|
||||
@@ -1412,8 +1411,8 @@ private struct ReadyBubble: View {
|
||||
DiscardButton(task: task, busy: busy)
|
||||
} trailing: {
|
||||
if !discard {
|
||||
MergeButton(task: task, busy: busy, unmerged: unmerged, keepOpen: true, primary: keepOpen)
|
||||
MergeButton(task: task, busy: busy, unmerged: unmerged, keepOpen: false, primary: !keepOpen)
|
||||
MergeButton(task: task, busy: busy, unmerged: unmerged, keepOpen: true, primary: task.readyMerge == ._continue)
|
||||
MergeButton(task: task, busy: busy, unmerged: unmerged, keepOpen: false, primary: task.readyMerge != ._continue)
|
||||
}
|
||||
}
|
||||
.padding(.top, 4)
|
||||
|
||||
Reference in New Issue
Block a user