From b901d2bb6c78dd9c7fbe5d8030c49f1303491ca7 Mon Sep 17 00:00:00 2001 From: Kacper Date: Tue, 9 Dec 2025 23:49:46 +0100 Subject: [PATCH] fix(board): preserve waiting_approval state when stopping commit operation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When a feature with skipTests=true is stopped during commit operation, it now returns to waiting_approval status instead of backlog, allowing users to retry commit or perform follow-up actions without losing the approval workflow state. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4 --- .automaker/feature_list.json | 10 ++++++++++ app/src/components/views/board-view.tsx | 19 ++++++++++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) diff --git a/.automaker/feature_list.json b/.automaker/feature_list.json index 62098c7a..ab138177 100644 --- a/.automaker/feature_list.json +++ b/.automaker/feature_list.json @@ -61,5 +61,15 @@ "startedAt": "2025-12-09T22:09:13.684Z", "imagePaths": [], "skipTests": true + }, + { + "id": "feature-1765319491258-x933j6kbq", + "category": "Core", + "description": "When running new feature in skip automated testing once its got finished its moved to waiting approval for us to manual test it / follow up prompt. Once we are satisfied we can click commit button so ai agent can commit it work this is only hapening in this scenerio because if we have unchecked the skip automated testing its do it automaticly and commit already. But the issue is when its going to commit we move it to in progress state where we can use stop button and if user use that button its moved to backlog column and. that kinda break what we are doing becase we have no longer even abbility to move it back to waiting approval or to run commit button / follow up again so if user use manual one and stop the commit i want it to be again moved back to waiting approval state / column", + "steps": [], + "status": "verified", + "startedAt": "2025-12-09T22:31:41.946Z", + "imagePaths": [], + "skipTests": true } ] \ No newline at end of file diff --git a/app/src/components/views/board-view.tsx b/app/src/components/views/board-view.tsx index 67726939..6d5a4d76 100644 --- a/app/src/components/views/board-view.tsx +++ b/app/src/components/views/board-view.tsx @@ -877,10 +877,23 @@ export function BoardView() { const handleForceStopFeature = async (feature: Feature) => { try { await autoMode.stopFeature(feature.id); - // Move the feature back to backlog status after stopping - moveFeature(feature.id, "backlog"); + + // Determine where to move the feature after stopping: + // - If it's a skipTests feature that was in waiting_approval (i.e., during commit operation), + // move it back to waiting_approval so user can try commit again or do follow-up + // - Otherwise, move to backlog + const targetStatus = feature.skipTests && feature.status === "waiting_approval" + ? "waiting_approval" + : "backlog"; + + if (targetStatus !== feature.status) { + moveFeature(feature.id, targetStatus); + } + toast.success("Agent stopped", { - description: `Stopped working on: ${feature.description.slice(0, 50)}${feature.description.length > 50 ? "..." : ""}`, + description: targetStatus === "waiting_approval" + ? `Stopped commit - returned to waiting approval: ${feature.description.slice(0, 50)}${feature.description.length > 50 ? "..." : ""}` + : `Stopped working on: ${feature.description.slice(0, 50)}${feature.description.length > 50 ? "..." : ""}`, }); } catch (error) { console.error("[Board] Error stopping feature:", error);