diff --git a/src/components/ChatBox/TaskCard.tsx b/src/components/ChatBox/TaskCard.tsx index a6a2afcf8..642abae8a 100644 --- a/src/components/ChatBox/TaskCard.tsx +++ b/src/components/ChatBox/TaskCard.tsx @@ -179,14 +179,17 @@ export function TaskCard({
{taskType === 1 && ( task.content !== "").length || 0} done={ - taskInfo.filter((task) => task.status === "completed") - .length || 0 + taskInfo.filter( + (task) => + task.content !== "" && task.status === "completed" + ).length || 0 } progress={ taskInfo.filter( (task) => + task.content !== "" && task.status !== "completed" && task.status !== "failed" && task.status !== "skipped" && @@ -197,14 +200,16 @@ export function TaskCard({ skipped={ taskInfo.filter( (task) => - task.status === "skipped" || - task.status === "waiting" || - task.status === "" + task.content !== "" && + (task.status === "skipped" || + task.status === "waiting" || + task.status === "") ).length || 0 } failed={ - taskInfo.filter((task) => task.status === "failed") - .length || 0 + taskInfo.filter( + (task) => task.content !== "" && task.status === "failed" + ).length || 0 } forceVisible={true} clickable={clickable} diff --git a/src/store/chatStore.ts b/src/store/chatStore.ts index c0f035911..571a7abc3 100644 --- a/src/store/chatStore.ts +++ b/src/store/chatStore.ts @@ -1311,13 +1311,16 @@ const chatStore = create()( })) }, handleConfirmTask: async (taskId: string, type?: string) => { - const { tasks, setMessages, setActiveWorkSpace, setStatus, setTaskTime, setTaskInfo } = get(); + const { tasks, setMessages, setActiveWorkSpace, setStatus, setTaskTime, setTaskInfo, setTaskRunning } = get(); if (!taskId) return; // record task start time setTaskTime(taskId, Date.now()); const taskInfo = tasks[taskId].taskInfo.filter((task) => task.content !== '') setTaskInfo(taskId, taskInfo) + // Also update taskRunning with the filtered tasks to keep counts consistent + const taskRunning = tasks[taskId].taskRunning.filter((task) => task.content !== '') + setTaskRunning(taskId, taskRunning) if (!type) { await fetchPut(`/task/${taskId}`, { task: taskInfo,