继续收敛后台读取同步错误

保留项目清单同步与专业 Agent 历史回读正文

避免后台 Promise 失败只留下无因 failed 状态
This commit is contained in:
kdletters
2026-10-06 00:06:31 +08:00
parent 708100495d
commit 77441aa326
2 changed files with 14 additions and 2 deletions
+13 -2
View File
@@ -1643,7 +1643,13 @@ export function App({
}
return;
}
})().catch(() => undefined);
})().catch((error) => {
if (!cancelled && localProjectPathRef.current === nextProjectPath) {
setProjectChatError(
`项目清单同步失败:${visibleClientErrorMessage(error)}`,
);
}
});
return () => {
cancelled = true;
};
@@ -1698,7 +1704,12 @@ export function App({
updatedAt: finalMessage.updatedAt,
} satisfies ProjectAgentResultSummary,
};
} catch {
} catch (error) {
if (!disposed && localProjectPathRef.current === nextProjectPath) {
setProjectChatError(
`读取${candidate.label}结果失败:${visibleClientErrorMessage(error)}`,
);
}
return {
agentId: candidate.agentId,
status: 'failed' as const,
@@ -79,3 +79,4 @@ DirectProject 回合失败在确认不是客户端内部不可归类故障时,
- 又扫出发布状态、扩展列表、应用更新和生成任务的“无正文时固定句”分支;这些分支现在明确显示“未提供具体错误正文”,不再让空原因伪装成完整错误。
- 项目权限策略读取还有两条调用方会在 IPC 异常时直接返回 `false`;现把脱敏后的读取错误同时写入工作台状态和项目聊天错误,不再把“未获权限”与“策略读取失败”混为一谈。
- 策划 Agent 的 Tauri 事件订阅失败原先只放行回合等待、没有任何用户提示;现把订阅 IPC 正文写入项目聊天错误出口,避免只收到不完整的最终态。
- 专业 Agent 历史回读与项目清单同步的后台 Promise 失败原先只返回 `failed` 或静默结束;现把具体读取/同步正文写入项目聊天错误出口。