From 2fe651c845cf95f48785e1b3befb317c7bca1292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Sat, 3 Oct 2026 13:41:00 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=EF=BC=9A=E5=85=A5=E9=98=9F?= =?UTF-8?q?=E5=A4=B1=E8=B4=A5=E6=8F=90=E7=A4=BA=E5=AF=B9=E7=BC=BA=E5=A4=B1?= =?UTF-8?q?=E5=AD=97=E6=AE=B5=E5=AE=B9=E9=94=99=EF=BC=8C=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E6=8A=9B=20Cannot=20read=20properties?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - directTurnEnqueueFailure.ts:permissionRejected.policyDetail / inputRejected.detail 改用可选链再 trim - 跨 IPC 载荷没有运行时校验,字段理论上可能是 null/undefined;原实现会在 runTurn 的 catch 里抛错,用户看到的是裸 TypeError、草稿还被清掉 - 缺失字段现在与空串同档:返回 null,按"没有提示"处理,保留草稿并走上报通道 --- .../chat/conversation/directTurnEnqueueFailure.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/apps/ai-game-creator-shell/src/view/project-development/chat/conversation/directTurnEnqueueFailure.ts b/apps/ai-game-creator-shell/src/view/project-development/chat/conversation/directTurnEnqueueFailure.ts index 1c0a0e74c..44d2bbb69 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/chat/conversation/directTurnEnqueueFailure.ts +++ b/apps/ai-game-creator-shell/src/view/project-development/chat/conversation/directTurnEnqueueFailure.ts @@ -73,9 +73,9 @@ export function enqueueFailureNotice(failure: EnqueueError): string | null { case 'projectRootUnusable': return '当前项目目录不存在或不是绝对路径'; case 'permissionRejected': - return failure.policyDetail.trim() || null; + return failure.policyDetail?.trim() || null; case 'inputRejected': - return failure.detail.trim() || null; + return failure.detail?.trim() || null; case 'contentEmpty': return '聊天内容不能为空'; // 宿主 / 环境事实:必须走上报通道,文案由 `enqueueSystemFailureNoticeText` 给固定句。