From 895ed9f605cb5e09272e4848458de75a47450c83 Mon Sep 17 00:00:00 2001 From: AndyMik90 Date: Thu, 18 Dec 2025 18:59:28 +0100 Subject: [PATCH] fix: enable stuck task detection for ai_review status MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Previously, stuck detection only checked tasks with status='in_progress', causing tasks stuck in 'ai_review' status to never show the recovery option. When a task enters QA review phase, its status changes to 'ai_review'. If the process crashes during this phase, the status remains 'ai_review' with no active process, but the stuck detection was skipped because isRunning only checked for 'in_progress' status. This fix extends the isRunning check to include both 'in_progress' and 'ai_review' statuses, ensuring stuck tasks in AI Review can be detected and recovered. Fixes: Task #838 stuck in AI Review with no recovery option 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../src/renderer/components/task-detail/hooks/useTaskDetail.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/auto-claude-ui/src/renderer/components/task-detail/hooks/useTaskDetail.ts b/auto-claude-ui/src/renderer/components/task-detail/hooks/useTaskDetail.ts index cf04e922..71ad2a2c 100644 --- a/auto-claude-ui/src/renderer/components/task-detail/hooks/useTaskDetail.ts +++ b/auto-claude-ui/src/renderer/components/task-detail/hooks/useTaskDetail.ts @@ -47,7 +47,7 @@ export function useTaskDetail({ task }: UseTaskDetailOptions) { const [showConflictDialog, setShowConflictDialog] = useState(false); const selectedProject = useProjectStore((state) => state.getSelectedProject()); - const isRunning = task.status === 'in_progress'; + const isRunning = task.status === 'in_progress' || task.status === 'ai_review'; const needsReview = task.status === 'human_review'; const executionPhase = task.executionProgress?.phase; const hasActiveExecution = executionPhase && executionPhase !== 'idle' && executionPhase !== 'complete' && executionPhase !== 'failed';