From 879e729b9f1e00206ccce68e9aec28b458bd5dd4 Mon Sep 17 00:00:00 2001 From: uroma Date: Mon, 19 Jan 2026 19:19:45 +0000 Subject: [PATCH] debug: add PTY lifecycle logging - Log PTY PID and shell when spawned - Log all PTY output data - Log PTY exit events with exit code and signal - Log when WebSocket cannot send PTY data This will help identify if the PTY is exiting immediately or if there's an issue with the PTY process. --- database.sqlite-shm | Bin 32768 -> 32768 bytes database.sqlite-wal | Bin 733392 -> 782832 bytes services/terminal-service.js | 7 ++++++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/database.sqlite-shm b/database.sqlite-shm index 6b32c0eec9df296245c7dbff836f4780e79685cd..62204491055feea54fedc3bbcfd5e81dc7cd2c7a 100644 GIT binary patch delta 212 zcmZo@U}|V!s+V}A%K!o_K+MR%Ag~Wea{}?aSF5-;ueGq-n;NrGx})Uy%g;=``xeQ4 zB2_)mC@=t-`yUBFg_#&OZEQTxv{`|9o&Ds0PG#(y8MZU*V%WPmkhzg*@*h_V<}D06 pfSkijlYe1>89I?5l;{9O^w+o-BEI!ks)q_aM#}q zQq=>E0t1k_|B(Pxn2BN8#>VqZn;V$x>?coPHkka+scdr-a|hGpKdu%)#xbVJzdRs} T%|E=en1Mo*m^Ob2 diff --git a/database.sqlite-wal b/database.sqlite-wal index 23c9ec53d600c7cddab8465ffbd5a2c9c64981b9..bf4cc808d4d117696d669e23e2f5ab112267b3a7 100644 GIT binary patch delta 329 zcmcccQ0K#A{e~9C7N!>F7M2#)7Pc1l7LFFq7OpMa7YwG~xWp*HVX-LHyKCF^)X4%9 zr3FP87#KK#m=%bbf!KSp%|v5Hk?kjxnKtlqr0=ia_;9w)hwTYPi~<6j_D}2+7agj< z#VVZPxvT7zQ%|4fcT=tdRmTxZv!K+xBf5 zJ=+g#0_ikd761Og@jouxZyW+~wJMF~rzfrm!7zvsXpk?|pn@qtgE-%_yx6X}pdbq7 zq}g%>tDAdjxwb2O2APywD?RJsGXq8xlYoYRfgjYQ8O$Ijaj$wc&(31)=H&sxOacJr CiDq#C delta 31 mcmezHSpUL9orV_17N!>F7M2#)7Pc1l7LFFq7OpMa7YqQ=1q*%v diff --git a/services/terminal-service.js b/services/terminal-service.js index 2d141a3c..bd5f54e4 100644 --- a/services/terminal-service.js +++ b/services/terminal-service.js @@ -67,6 +67,8 @@ class TerminalService { env: process.env }); + console.log(`[TerminalService] PTY spawned with PID: ${pty.pid}, shell: ${shell}`); + // Store terminal info const terminal = { id: terminalId, @@ -140,17 +142,20 @@ class TerminalService { // Handle PTY output - send to client terminal.pty.onData((data) => { + console.log(`[TerminalService] PTY data from ${terminalId}: ${data.replace(/\n/g, '\\n').replace(/\r/g, '\\r')}`); if (ws.readyState === ws.OPEN) { ws.send(JSON.stringify({ type: 'data', data: data })); + } else { + console.log(`[TerminalService] Cannot send PTY data - WebSocket not open (state: ${ws.readyState})`); } }); // Handle PTY exit terminal.pty.onExit(({ exitCode, signal }) => { - console.log(`[TerminalService] Terminal ${terminalId} exited: ${exitCode || signal}`); + console.log(`[TerminalService] PTY EXIT for ${terminalId}: exitCode=${exitCode}, signal=${signal}`); this.logCommand(terminalId, null, `Terminal exited: ${exitCode || signal}`); if (ws.readyState === ws.OPEN) {