diff --git a/src/components/ChatBox/TaskCard.tsx b/src/components/ChatBox/TaskCard.tsx index ff4576508..631d2fd4d 100644 --- a/src/components/ChatBox/TaskCard.tsx +++ b/src/components/ChatBox/TaskCard.tsx @@ -88,7 +88,7 @@ export function TaskCard({ }); setFilterTasks(newFiltered); } - }, [selectedState, taskInfo]); + }, [selectedState, taskInfo,taskRunning]); const isAllTaskFinished = useMemo(() => { return ( diff --git a/src/store/chatStore.ts b/src/store/chatStore.ts index 00dfcbbb5..40108001c 100644 --- a/src/store/chatStore.ts +++ b/src/store/chatStore.ts @@ -489,7 +489,7 @@ const chatStore = create()( } if (targetTaskIndex !== -1) { - console.log("targetTaskIndex", targetTaskIndex,state) + console.log("targetTaskIndex", targetTaskIndex, state) taskRunning[targetTaskIndex].status = state === "DONE" ? "completed" : "failed"; } setTaskRunning(taskId, taskRunning) @@ -618,11 +618,10 @@ const chatStore = create()( taskAssigning[assigneeAgentIndex].tasks.push(task ?? { id: task_id, content, status: "waiting" }); } setTaskAssigning(taskId, [...taskAssigning]); - return; // Return early, do not add to the running queue - } + } // The following logic is for when the task actually starts executing (running) - if (taskAssigning && taskAssigning[assigneeAgentIndex]) { + else if (taskAssigning && taskAssigning[assigneeAgentIndex]) { // Check if task already exists in the agent's task list const existingTaskIndex = taskAssigning[assigneeAgentIndex].tasks.findIndex(item => item.id === task_id); @@ -649,11 +648,14 @@ const chatStore = create()( // Only update or add to taskRunning, never duplicate if (taskRunningIndex === -1) { // Task not in taskRunning, add it + if(task){ + task.status = taskState === "waiting" ? "waiting" : "running"; + } taskRunning!.push( task ?? { id: task_id, content, - status: "", + status: taskState === "waiting" ? "waiting" : "running", agent: JSON.parse(JSON.stringify(taskAgent)), } ); @@ -661,7 +663,7 @@ const chatStore = create()( // Task already in taskRunning, update it taskRunning![taskRunningIndex] = { ...taskRunning![taskRunningIndex], - status: "", + status: taskState === "waiting" ? "waiting" : "running", agent: JSON.parse(JSON.stringify(taskAgent)), }; }