diff --git a/web/src/server/pty/pty-manager.ts b/web/src/server/pty/pty-manager.ts index d4288643..5b7df0cc 100644 --- a/web/src/server/pty/pty-manager.ts +++ b/web/src/server/pty/pty-manager.ts @@ -1853,15 +1853,7 @@ export class PtyManager extends EventEmitter { session.sessionJsonWatcher.close(); } - // Clean up stdin handlers if they exist - if (session.stdinHandler) { - process.stdin.removeListener('data', session.stdinHandler); - session.stdinHandler = undefined; - } - if (session.stdinDataListener) { - process.stdin.removeListener('data', session.stdinDataListener); - session.stdinDataListener = undefined; - } + // Note: stdin handling is done via IPC socket, no global listeners to clean up // Remove all event listeners for this session const listeners = this.sessionEventListeners.get(session.id); diff --git a/web/src/server/pty/types.ts b/web/src/server/pty/types.ts index 235d850d..825bfc4e 100644 --- a/web/src/server/pty/types.ts +++ b/web/src/server/pty/types.ts @@ -71,8 +71,6 @@ export interface PtySession { inputSocketServer?: net.Server; sessionJsonWatcher?: fs.FSWatcher; sessionJsonDebounceTimer?: NodeJS.Timeout | null; - stdinHandler?: (data: string) => void; - stdinDataListener?: (data: Buffer) => void; stdoutQueue?: WriteQueue; // Terminal title mode titleMode?: TitleMode;