mirror of
https://github.com/CherryHQ/cherry-studio.git
synced 2026-07-03 20:59:22 +08:00
- Register QuickAssistant in windowRegistry (singleton, show:false, showInDock:false, macReapplyAlwaysOnTop quirk). QuickAssistantService now creates the BrowserWindow via wm.create() and sets up listeners directly after creation; no global onWindowCreated subscription needed since we own the window. - Instantiate windowStateKeeper before wm.create() and inject persisted x/y/w/h via OpenWindowArgs.options. manage() only attaches outbound listeners and does not retroactively apply persisted bounds. - Set the initial alwaysOnTop level once after creation; the macReapplyAlwaysOnTop quirk handles re-application across hide/show. - closeQuickWindow now hides instead of destroying. Quick window is a high-frequency toggle; destroy+recreate would blank-flash on next show and waste preload work. Final teardown stays in WindowManager.onDestroy. - Rename WindowType.Mini -> QuickAssistant, IpcChannel.MiniWindow_* -> QuickAssistant_*, IpcChannel.ShowMiniWindow -> QuickAssistant_Shown, preload window.api.miniWindow -> quickAssistant, log window source 'MiniWindow' -> 'QuickAssistant'. Drop dead QuickAssistant_Hidden IPC (no listener exists anywhere in the tree). - Cross-process contracts retained: miniWindow.html entry and miniWindow-state.json bounds file are kept verbatim to avoid a build layout change and to preserve every user's saved window bounds. - Update renderer call sites (HomeWindow, QuickAssistantSettings, entryPoint) and an e2e fixture comment to the new namespace.