feat(KB-093): add PR-first merge mode with configurable merge strategies
- Add mergeStrategy setting (fast-forward, squash, merge-commit) to config - Implement PR-first auto-completion flow that monitors PR merge status - Wire PR monitoring service to detect merge completion and trigger auto-close - Add PR status UI to dashboard with merge progress indicator - Update settings modal with merge strategy selector - Add changeset for PR-first merge mode feature
This commit is contained in:
@@ -386,6 +386,12 @@ export function TaskDetailModal({
|
||||
});
|
||||
|
||||
const transitions = VALID_TRANSITIONS[task.column] || [];
|
||||
const prAutomationStatusLabels: Record<string, string> = {
|
||||
"creating-pr": "Creating PR…",
|
||||
"awaiting-pr-checks": "Awaiting PR checks",
|
||||
"merging-pr": "Merging PR…",
|
||||
};
|
||||
const prAutomationLabel = task.status ? prAutomationStatusLabels[task.status] : undefined;
|
||||
|
||||
return (
|
||||
<div className="modal-overlay open" onClick={handleOverlayClick}>
|
||||
@@ -716,6 +722,7 @@ export function TaskDetailModal({
|
||||
<PrSection
|
||||
taskId={task.id}
|
||||
prInfo={task.prInfo}
|
||||
automationStatus={task.status ?? null}
|
||||
hasGitHubToken={githubTokenConfigured ?? false}
|
||||
onPrCreated={(prInfo) => {
|
||||
// Update task locally to show new PR
|
||||
@@ -772,9 +779,15 @@ export function TaskDetailModal({
|
||||
<button className="btn btn-sm" onClick={() => handleMove("in-progress")}>
|
||||
Back to In Progress
|
||||
</button>
|
||||
<button className="btn btn-primary btn-sm" onClick={handleMerge}>
|
||||
Merge & Close
|
||||
</button>
|
||||
{prAutomationLabel ? (
|
||||
<button className="btn btn-primary btn-sm" disabled>
|
||||
{prAutomationLabel}
|
||||
</button>
|
||||
) : (
|
||||
<button className="btn btn-primary btn-sm" onClick={handleMerge}>
|
||||
Merge & Close
|
||||
</button>
|
||||
)}
|
||||
</>
|
||||
) : (
|
||||
transitions.map((col) => (
|
||||
|
||||
Reference in New Issue
Block a user