From 3acfe4a3521fb3c044a53102f65a15d9e6f6cd5c Mon Sep 17 00:00:00 2001 From: kdletters <61648117+kdletters@users.noreply.github.com> Date: Tue, 6 Oct 2026 11:05:45 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=A7=E7=BB=AD=E6=94=B6=E6=95=9B=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E5=BF=AB=E7=85=A7=E7=99=BB=E8=AE=B0=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 保留快照工作区 IPC 失败的脱敏正文 补充快照登记日志回归验证 --- .../src/services/projectSnapshotWorkspace.ts | 6 ++++-- .../tests/projectSnapshotWorkspace.test.tsx | 3 ++- .../plans/【里程碑】AGC错误具体文本展示-2026-10-04.md | 1 + 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/apps/ai-game-creator-shell/src/services/projectSnapshotWorkspace.ts b/apps/ai-game-creator-shell/src/services/projectSnapshotWorkspace.ts index bbd7bdca5..6797588fb 100644 --- a/apps/ai-game-creator-shell/src/services/projectSnapshotWorkspace.ts +++ b/apps/ai-game-creator-shell/src/services/projectSnapshotWorkspace.ts @@ -1,3 +1,5 @@ +import { visibleClientErrorMessage } from './errorReporting'; + type WorkspaceInvoke = ( command: string, args?: Record, @@ -19,14 +21,14 @@ export function createProjectSnapshotWorkspaceRegistration( queue = queue.then(async () => { try { await invoke('set_active_project_snapshot_workspace', { projectPath }); - } catch { + } catch (error) { // 失败不能被记作已登记;下一次相同路径登记仍可重新提交。 if (revision === requestRevision) requestedPath = undefined; try { await invoke('append_application_log', { level: 'error', source: 'project-snapshot', - message: 'project_snapshot.workspace.registration.failed', + message: `project_snapshot.workspace.registration.failed: ${visibleClientErrorMessage(error)}`, }); } catch { // 原生桥本身不可用时也不阻断项目创作。 diff --git a/apps/ai-game-creator-shell/tests/projectSnapshotWorkspace.test.tsx b/apps/ai-game-creator-shell/tests/projectSnapshotWorkspace.test.tsx index 63f651063..f3154d319 100644 --- a/apps/ai-game-creator-shell/tests/projectSnapshotWorkspace.test.tsx +++ b/apps/ai-game-creator-shell/tests/projectSnapshotWorkspace.test.tsx @@ -97,7 +97,8 @@ describe('项目快照窗口登记', () => { expect(invoke).toHaveBeenLastCalledWith('append_application_log', { level: 'error', source: 'project-snapshot', - message: 'project_snapshot.workspace.registration.failed', + message: + 'project_snapshot.workspace.registration.failed: [REDACTED]', }); await registration.setProject('/projects/first'); expect(invoke).toHaveBeenCalledTimes(3); diff --git a/docs/project-memory/plans/【里程碑】AGC错误具体文本展示-2026-10-04.md b/docs/project-memory/plans/【里程碑】AGC错误具体文本展示-2026-10-04.md index a0691440a..ded1dc9a7 100644 --- a/docs/project-memory/plans/【里程碑】AGC错误具体文本展示-2026-10-04.md +++ b/docs/project-memory/plans/【里程碑】AGC错误具体文本展示-2026-10-04.md @@ -105,3 +105,4 @@ DirectProject 回合失败在确认不是客户端内部不可归类故障时, - 首页建项/打开项目读取本地 revision 失败原先吞成 `null` 并继续进入项目;现保留降级进入行为,同时把 IPC/文件读取正文写入首页状态。 - 发布面板读取封面生成价格失败原先只清空价格并继续显示泛化消耗提示;现保留价格查询的脱敏正文并在确认弹窗中展示。 - 资源模型卡、素材引用选择器和本地图片导入预览原先失败只降级成图标/文件名;现保留脱敏后的 WebGL、IPC、远程读取原因,并通过卡面 title/aria 或提示文本展示,降级预览行为不变。 +- 项目快照工作区登记失败原先只写固定诊断键,实际 IPC/权限/路径原因丢失;现把统一脱敏正文写入应用诊断日志,并保留重试登记行为。