diff --git a/src/features/tmux-subagent/manager.test.ts b/src/features/tmux-subagent/manager.test.ts index 485a47acc..84c7bc441 100644 --- a/src/features/tmux-subagent/manager.test.ts +++ b/src/features/tmux-subagent/manager.test.ts @@ -1932,43 +1932,6 @@ describe('TmuxSessionManager', () => { expect(mockKillTmuxSessionIfExists).toHaveBeenCalledTimes(0) }) - test('#given a tracked session #when onSessionError is invoked #then the pane is closed like onSessionDeleted', async () => { - // given - mockIsInsideTmux.mockReturnValue(true) - mockExecuteAction.mockClear() - const { TmuxSessionManager } = await import('./manager') - const manager = new TmuxSessionManager(createMockContext(), createTmuxConfig({ - enabled: true, - isolation: 'session', - }), mockTmuxDeps) - await manager.onSessionCreated(createSessionCreatedEvent('ses_err', 'ses_parent', 'Errored Task')) - mockExecuteAction.mockClear() - - // when - await manager.onSessionError({ sessionID: 'ses_err' }) - - // then - expect(mockExecuteAction).toHaveBeenCalled() - }) - - test('#given an untracked session #when onSessionError is invoked #then it is a no-op and does not throw', async () => { - // given - mockIsInsideTmux.mockReturnValue(true) - mockExecuteAction.mockClear() - const { TmuxSessionManager } = await import('./manager') - const manager = new TmuxSessionManager(createMockContext(), createTmuxConfig({ - enabled: true, - isolation: 'session', - }), mockTmuxDeps) - - // when - const errorHandler = manager.onSessionError({ sessionID: 'ses_unknown' }) - - // then - await expect(errorHandler).resolves.toBeUndefined() - expect(mockExecuteAction).not.toHaveBeenCalled() - }) - test('#given killTmuxSessionIfExists throws #when cleanup runs #then cleanup still completes without throwing', async () => { // given mockKillTmuxSessionIfExists.mockClear() diff --git a/src/features/tmux-subagent/manager.ts b/src/features/tmux-subagent/manager.ts index 7b9d92d81..5734ff822 100644 --- a/src/features/tmux-subagent/manager.ts +++ b/src/features/tmux-subagent/manager.ts @@ -838,18 +838,6 @@ export class TmuxSessionManager { await this.spawnQueue } - async onSessionError(event: { sessionID: string }): Promise { - if (!this.isEnabled()) return - if (!this.getEffectiveSourcePaneId()) return - if (!this.sessions.has(event.sessionID)) return - - log("[tmux-session-manager] onSessionError - routing to cleanup", { - sessionId: event.sessionID, - }) - - await this.onSessionDeleted(event) - } - async onSessionDeleted(event: { sessionID: string }): Promise { if (!this.isEnabled()) return if (!this.getEffectiveSourcePaneId()) return diff --git a/src/plugin/event.ts b/src/plugin/event.ts index 0f79a84d5..5a5f177b6 100644 --- a/src/plugin/event.ts +++ b/src/plugin/event.ts @@ -615,10 +615,6 @@ export function createEventHandler(args: { const sessionID = props?.sessionID as string | undefined; const error = props?.error; - if (tmuxIntegrationEnabled && sessionID) { - await managers.tmuxSessionManager.onSessionError({ sessionID }); - } - const errorName = extractErrorName(error); const errorMessage = extractErrorMessage(error); const errorInfo = { name: errorName, message: errorMessage };