diff --git a/apps/ai-game-creator-shell/src/view/project-development/chat/controller/useDirectProjectChatController.ts b/apps/ai-game-creator-shell/src/view/project-development/chat/controller/useDirectProjectChatController.ts index 0f6296674..60af13028 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/chat/controller/useDirectProjectChatController.ts +++ b/apps/ai-game-creator-shell/src/view/project-development/chat/controller/useDirectProjectChatController.ts @@ -460,6 +460,14 @@ export function useDirectProjectChatController({ if (!invoke) return; invoked = true; await runTurn(invoke, nextProjectPath, input); + } catch (error) { + // 写权限门等前置步骤抛出时不能只留一个未处理的 rejection:回合会静默失败, + // 已经乐观追加的用户消息也没有任何解释。 + if (projectPathRef.current === nextProjectPath) { + onRuntimeError( + error instanceof Error ? error.message : String(error), + ); + } } finally { setTurnCancelling(false); // 权限门没放行时本轮从未发出:不刷新清单,也不推进队列,等确认后重跑。