From dedbfe509ddbfdc7a0e49e2f1ba98d060229e751 Mon Sep 17 00:00:00 2001 From: soryu Date: Fri, 13 Feb 2026 20:31:35 +0000 Subject: feat: makima system: Fix directive update goal stale state bug --- makima/frontend/src/components/directives/DirectiveDetail.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/makima/frontend/src/components/directives/DirectiveDetail.tsx b/makima/frontend/src/components/directives/DirectiveDetail.tsx index 369cdaa..491307b 100644 --- a/makima/frontend/src/components/directives/DirectiveDetail.tsx +++ b/makima/frontend/src/components/directives/DirectiveDetail.tsx @@ -60,6 +60,12 @@ export function DirectiveDetail({ const prevHadRunningRef = useRef(false); const badge = STATUS_BADGE[directive.status] || STATUS_BADGE.draft; + // Sync goalText when directive changes (fixes stale state when switching directives) + useEffect(() => { + setGoalText(directive.goal); + setEditingGoal(false); + }, [directive.id, directive.goal]); + const completedSteps = directive.steps.filter((s) => s.status === "completed").length; const totalSteps = directive.steps.length; const progress = totalSteps > 0 ? Math.round((completedSteps / totalSteps) * 100) : 0; -- cgit v1.2.3