fix(dispose): improve hook disposal and plugin cleanup

🤖 Generated with assistance of OhMyOpenCode
This commit is contained in:
YeonGyu-Kim
2026-03-31 17:33:19 -07:00
parent 9795cc5b3d
commit 990095d22e
3 changed files with 78 additions and 4 deletions
+9 -1
View File
@@ -9,9 +9,12 @@ export function createPluginDispose(args: {
skillMcpManager: {
disconnectAll: () => Promise<void>
}
lspManager: {
stopAll: () => Promise<void>
}
disposeHooks: () => void
}): PluginDispose {
const { backgroundManager, skillMcpManager, disposeHooks } = args
const { backgroundManager, skillMcpManager, lspManager, disposeHooks } = args
let disposePromise: Promise<void> | null = null
return async (): Promise<void> => {
@@ -31,6 +34,11 @@ export function createPluginDispose(args: {
} catch (error) {
log("[plugin-dispose] skillMcpManager.disconnectAll() error:", error)
}
try {
await lspManager.stopAll()
} catch (error) {
log("[plugin-dispose] lspManager.stopAll() error:", error)
}
try {
disposeHooks()
} catch (error) {