From 72053b9dc0cf451bacd156f916c377f7d3ba8f69 Mon Sep 17 00:00:00 2001 From: kdletters <61648117+kdletters@users.noreply.github.com> Date: Tue, 6 Oct 2026 00:18:17 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E6=94=B6=E6=95=9B=E5=B7=A5?= =?UTF-8?q?=E4=BD=9C=E5=8F=B0=E6=B8=85=E5=8D=95=E4=BA=8B=E4=BB=B6=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 保留清单版本读取、重读与事件订阅正文 避免工作台清单失效时只写日志静默回退 --- .../src/features/app-shell/WorkspaceLauncher.tsx | 13 +++++++++---- .../【里程碑】AGC错误具体文本展示-2026-10-04.md | 1 + 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/apps/ai-game-creator-shell/src/features/app-shell/WorkspaceLauncher.tsx b/apps/ai-game-creator-shell/src/features/app-shell/WorkspaceLauncher.tsx index fc59ca9e9..8d4fe284b 100644 --- a/apps/ai-game-creator-shell/src/features/app-shell/WorkspaceLauncher.tsx +++ b/apps/ai-game-creator-shell/src/features/app-shell/WorkspaceLauncher.tsx @@ -16,6 +16,7 @@ import { useWindowChrome, WINDOW_CHROME_DEFAULT_TITLE, } from '../../components/windowChromeContext'; +import { visibleClientErrorMessage } from '../../services/errorReporting'; import { canSubscribeTauriEvents, subscribeTauriEvent, @@ -544,7 +545,8 @@ export function WorkspaceLauncherShell({ source: 'chat', }); }) - .catch(() => { + .catch((error) => { + setStatus(`清单版本读取失败:${visibleClientErrorMessage(error)}`); if (activeProjectContextRef.current?.projectRevision === null) { setCurrentProjectContext((active) => active?.projectPath === sourceProjectPath @@ -591,7 +593,9 @@ export function WorkspaceLauncherShell({ applyManifestSnapshot({ ...fresh, source: 'asset-event' }); } } catch (error) { - console.warn('[manifest-merge] 清单失效事件的重读失败', error); + const message = `清单失效事件重读失败:${visibleClientErrorMessage(error)}`; + console.warn('[manifest-merge] 清单失效事件的重读失败', message); + setStatus(message); } }, [applyManifestSnapshot], @@ -629,8 +633,9 @@ export function WorkspaceLauncherShell({ } unsubscribe = release; }) - .catch(() => { - // 事件订阅不可用时,清单仍在素材命令与回合结束后刷新。 + .catch((error) => { + // 事件订阅不可用时,清单仍在素材命令与回合结束后刷新,但不能隐藏事件桥原因。 + setStatus(`清单失效事件订阅失败:${visibleClientErrorMessage(error)}`); }); return () => { disposed = true; diff --git a/docs/project-memory/plans/【里程碑】AGC错误具体文本展示-2026-10-04.md b/docs/project-memory/plans/【里程碑】AGC错误具体文本展示-2026-10-04.md index fcf0aa387..85c1ea487 100644 --- a/docs/project-memory/plans/【里程碑】AGC错误具体文本展示-2026-10-04.md +++ b/docs/project-memory/plans/【里程碑】AGC错误具体文本展示-2026-10-04.md @@ -82,3 +82,4 @@ DirectProject 回合失败在确认不是客户端内部不可归类故障时, - 专业 Agent 历史回读与项目清单同步的后台 Promise 失败原先只返回 `failed` 或静默结束;现把具体读取/同步正文写入项目聊天错误出口。 - Direct 交付计划/合同 JSON 解析、策划工作区目录枚举与文本搜索还有 `map_err(|_|)` / `Err(_)` 丢细节;现保留 serde、目录和文件读取正文,安全路径边界仍单独拒绝。 - 错误报告对话框读取最新错误事件或诊断日志失败时原先只显示“暂不可用/使用快照”;现把读取 IPC/文件正文附在状态提示中,快照回退行为保持不变。 +- WorkspaceLauncher 的清单版本读取、失效事件重读和事件订阅失败原先只写日志或静默回退;现把安全正文送入启动器状态提示,仍保留已有回退刷新路径。