diff options
| author | soryu <soryu@soryu.co> | 2026-01-20 16:45:34 +0000 |
|---|---|---|
| committer | soryu <soryu@soryu.co> | 2026-01-20 16:45:34 +0000 |
| commit | c6c69af39b29276920b07e0d220f7016335f1019 (patch) | |
| tree | 13a4b58b00f67076b532933b9f8f208122d54bf9 /makima/frontend/src/components/contracts | |
| parent | 36233b7cb834223878aa075bb379846eb6d7bb05 (diff) | |
| parent | a3ecb076a4f83f9c33fc3e4ad64af72c81b3ffd0 (diff) | |
| download | soryu-makima/contract-lifecycle-cleanup.tar.gz soryu-makima/contract-lifecycle-cleanup.zip | |
Merge lifecycle improvementsmakima/contract-lifecycle-cleanup
Resolved conflict in supervisor.rs by keeping both:
- supervisor_complete and supervisor_resume_contract methods (lifecycle management)
- delete_task and update_task methods (task management)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Diffstat (limited to 'makima/frontend/src/components/contracts')
| -rw-r--r-- | makima/frontend/src/components/contracts/ContractCliInput.tsx | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/makima/frontend/src/components/contracts/ContractCliInput.tsx b/makima/frontend/src/components/contracts/ContractCliInput.tsx index 821d03c..54d9f3a 100644 --- a/makima/frontend/src/components/contracts/ContractCliInput.tsx +++ b/makima/frontend/src/components/contracts/ContractCliInput.tsx @@ -279,9 +279,9 @@ export function ContractCliInput({ contractId, contract, onUpdate }: ContractCli } }, [messages]); - // Auto-start supervisor when component mounts if it's pending + // Auto-start supervisor when component mounts if it's pending (but not for completed contracts) useEffect(() => { - if (supervisorTask && isSupervisorPending && !supervisorStarting) { + if (supervisorTask && isSupervisorPending && !supervisorStarting && contract.status !== 'completed') { console.log("Auto-starting supervisor task on mount..."); ensureSupervisorStarted().then((started) => { if (started) { @@ -289,7 +289,7 @@ export function ContractCliInput({ contractId, contract, onUpdate }: ContractCli } }); } - }, [supervisorTask?.id]); // Only run when task ID changes, not on every render + }, [supervisorTask?.id, contract.status]); // Only run when task ID or contract status changes // Convert supervisor output events to messages useEffect(() => { |
