fix: address 5 edge cases from review-work findings

- C3: include command args in auto-slash-command dedup key
- H2: track completed task summaries for ALL COMPLETE message
- H9: increment tmux close retry count on re-mark
- H8: detect stale MCP connections after disconnect+reconnect race
- H8: guard disconnectedSessions growth for non-MCP sessions
- C1: await tmux cleanup in plugin dispose lifecycle
This commit is contained in:
YeonGyu-Kim
2026-03-11 20:39:03 +09:00
parent b8aea50dfa
commit 03eaa429ce
9 changed files with 53 additions and 12 deletions
+8 -2
View File
@@ -7,9 +7,12 @@ export function createPluginDispose(args: {
skillMcpManager: {
disconnectAll: () => Promise<void>
}
tmuxSessionManager: {
cleanup: () => Promise<void>
}
disposeHooks: () => void
}): PluginDispose {
const { backgroundManager, skillMcpManager, disposeHooks } = args
const { backgroundManager, skillMcpManager, tmuxSessionManager, disposeHooks } = args
let disposePromise: Promise<void> | null = null
return async (): Promise<void> => {
@@ -20,7 +23,10 @@ export function createPluginDispose(args: {
disposePromise = (async (): Promise<void> => {
backgroundManager.shutdown()
await skillMcpManager.disconnectAll()
await Promise.all([
skillMcpManager.disconnectAll(),
tmuxSessionManager.cleanup(),
])
disposeHooks()
})()