From 24315c3f30254d0657e51dea65396678b1a7d552 Mon Sep 17 00:00:00 2001 From: KonghaYao <3446798488@qq.com> Date: Wed, 9 Sep 2026 21:11:40 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E9=99=90=E5=88=B6=E8=81=8A=E5=A4=A9?= =?UTF-8?q?=E7=8A=B6=E6=80=81=E5=88=97=E8=A1=A8=E9=AB=98=E5=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: gpt-5.6-sol --- web/components/chat/PeriTaskList.tsx | 2 +- web/components/chat/SubAgentPanel.tsx | 2 +- web/components/chat/TodoChanges.tsx | 2 +- web/components/chat/TodoPanel.tsx | 2 +- web/components/chat/ToolCallRow.tsx | 2 +- web/components/chat/chat-status-panel.tsx | 15 ++++-- web/src/__tests__/chat-status-panel.test.ts | 50 +++++++++++++++++++- web/src/__tests__/tool-call-row-ssr.test.tsx | 20 ++++++++ 8 files changed, 86 insertions(+), 9 deletions(-) diff --git a/web/components/chat/PeriTaskList.tsx b/web/components/chat/PeriTaskList.tsx index f8e4324f..6d24d836 100644 --- a/web/components/chat/PeriTaskList.tsx +++ b/web/components/chat/PeriTaskList.tsx @@ -87,7 +87,7 @@ export const PeriTaskList = memo(function PeriTaskList({ )} {!collapsed && ( -
+
{!loaded ? ( // 加载态:Session Doc 快照尚未同步,任务列表不可用
diff --git a/web/components/chat/SubAgentPanel.tsx b/web/components/chat/SubAgentPanel.tsx index dc2f61cc..ece74673 100644 --- a/web/components/chat/SubAgentPanel.tsx +++ b/web/components/chat/SubAgentPanel.tsx @@ -109,7 +109,7 @@ export const SubAgentPanel = memo(function SubAgentPanel({ entries }: SubAgentPa -
+
diff --git a/web/components/chat/TodoChanges.tsx b/web/components/chat/TodoChanges.tsx index 46785286..f0316a25 100644 --- a/web/components/chat/TodoChanges.tsx +++ b/web/components/chat/TodoChanges.tsx @@ -55,7 +55,7 @@ export function TodoChanges({ changes }: TodoChangesProps) { if (changes.length === 0) return null; return ( -
+
{changes.map((change) => { const { Icon, iconClassName, labelClassName, itemClassName } = CHANGE_STYLES[change.kind]; const text = diff --git a/web/components/chat/TodoPanel.tsx b/web/components/chat/TodoPanel.tsx index 2630b8c8..6fafca0d 100644 --- a/web/components/chat/TodoPanel.tsx +++ b/web/components/chat/TodoPanel.tsx @@ -76,7 +76,7 @@ export function TodoPanel({ todos, embedded = false, title }: TodoPanelProps) { {/* Todo 列表 */} {!collapsed && ( -
+
{todos.map((todo) => (
{todo.status === "completed" ? ( diff --git a/web/components/chat/ToolCallRow.tsx b/web/components/chat/ToolCallRow.tsx index fa230a6c..0113b70d 100644 --- a/web/components/chat/ToolCallRow.tsx +++ b/web/components/chat/ToolCallRow.tsx @@ -183,7 +183,7 @@ export function ToolCallRow({ tool, envId }: ToolCallRowProps) { {/* 子 agent 嵌套面板(保留) */} {hasSubEntries && ( -
+
diff --git a/web/components/chat/chat-status-panel.tsx b/web/components/chat/chat-status-panel.tsx index e4bdd276..4df77bf6 100644 --- a/web/components/chat/chat-status-panel.tsx +++ b/web/components/chat/chat-status-panel.tsx @@ -163,7 +163,10 @@ function StatusTabButton({ function TodoRows({ todos }: { todos: TodoItem[] }) { const { t } = useTranslation("components"); return ( -
+
{todos.map((todo) => { const Icon = todo.status === "completed" ? CheckCircle2 : todo.status === "in_progress" ? Clock3 : Circle; return ( @@ -192,7 +195,10 @@ function TaskRows({ const { t } = useTranslation("components"); if (!loaded) return

{t("periTask.loading")}

; return ( -
+
{reconnecting &&

{t("periTask.reconnecting")}

} {tasks.map((task) => { const Icon = @@ -225,7 +231,10 @@ function TaskRows({ function ChangeRows({ files }: { files: ChangedFile[] }) { const { t } = useTranslation("components"); return ( -
+
{files.map((file) => (