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 1ede1f4e12
commit e1d864eb83
9 changed files with 53 additions and 12 deletions
+10 -1
View File
@@ -87,7 +87,16 @@ async function cleanupIdleClients(state: SkillMcpManagerState): Promise<void> {
}
export async function disconnectSession(state: SkillMcpManagerState, sessionID: string): Promise<void> {
state.disconnectedSessions.add(sessionID)
let hasPendingForSession = false
for (const key of state.pendingConnections.keys()) {
if (key.startsWith(`${sessionID}:`)) {
hasPendingForSession = true
break
}
}
if (hasPendingForSession) {
state.disconnectedSessions.add(sessionID)
}
const keysToRemove: string[] = []
for (const [key, managed] of state.clients.entries()) {