refactor: rebuildRuntime 语义化——插件重载透明化,工作区切换全量切换

This commit is contained in:
Rick Ye
2026-09-10 12:03:16 +08:00
parent 4c5a379ca1
commit 8216d70fcf
3 changed files with 48 additions and 12 deletions
+3 -2
View File
@@ -82,8 +82,8 @@ async function createWindow(): Promise<void> {
})
// ready-to-show 在 Electron 中可能不止一次触发(实测:回合中途首次挂载受管浏览器
// WebContentsView 后会再次发出)。会话初始化只能做一次——二次触发会全量广播
// session_switched,把渲染层进行中的回合状态清掉(过程区误折叠/反复横跳的根因)。
// WebContentsView 后会再次发出)。会话初始化只做一次——但失败后放开门闩,
// 让后续的重复触发承担重试职责(该事件至少会再来一次)。
let sessionInitialized = false
win.on('ready-to-show', () => {
win.show()
@@ -91,6 +91,7 @@ async function createWindow(): Promise<void> {
sessionInitialized = true
// pi 会话初始化放在窗口就绪后,错误可以第一时间在 UI 上呈现
agentService.ensureReady().catch((err: unknown) => {
sessionInitialized = false
console.error('[main] pi session init failed:', err)
})
})