fix: 工作过程误折叠/反复横跳——ready-to-show 二次触发不得重置回合状态

This commit is contained in:
Rick Ye
2026-09-10 11:43:37 +08:00
parent ddecaef4ef
commit 4c5a379ca1
3 changed files with 24 additions and 12 deletions
+7 -1
View File
@@ -81,10 +81,16 @@ async function createWindow(): Promise<void> {
}
})
// ready-to-show 在 Electron 中可能不止一次触发(实测:回合中途首次挂载受管浏览器
// WebContentsView 后会再次发出)。会话初始化只能做一次——二次触发会全量广播
// session_switched,把渲染层进行中的回合状态清掉(过程区误折叠/反复横跳的根因)。
let sessionInitialized = false
win.on('ready-to-show', () => {
win.show()
if (sessionInitialized) return
sessionInitialized = true
// pi 会话初始化放在窗口就绪后,错误可以第一时间在 UI 上呈现
agentService.ensureReady().catch((err) => {
agentService.ensureReady().catch((err: unknown) => {
console.error('[main] pi session init failed:', err)
})
})