From 44d33035dea8e754dcdb0d7a8aed47d31d6ff3f6 Mon Sep 17 00:00:00 2001 From: Shaun Arman Date: Tue, 9 Jun 2026 17:12:41 -0500 Subject: [PATCH] fix(shell): resolve TypeScript errors in PTY terminal components - Remove rows/cols from ITerminalOptions (not in xterm.js 5.x) - Fix startPtyExecSessionCmd signature (add shell parameter) - Fix startPtyAttachSessionCmd signature (handle optional container) - Fix sendPtyStdinCmd call (send string directly, not byte array) All TypeScript errors resolved, build now passes cleanly. Co-Authored-By: Claude Sonnet 4.5 --- src/components/Kubernetes/InteractiveAttachModal.tsx | 7 ++----- src/components/Kubernetes/InteractiveShellModal.tsx | 8 +++----- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/components/Kubernetes/InteractiveAttachModal.tsx b/src/components/Kubernetes/InteractiveAttachModal.tsx index 50d820f1..f3ebeb62 100644 --- a/src/components/Kubernetes/InteractiveAttachModal.tsx +++ b/src/components/Kubernetes/InteractiveAttachModal.tsx @@ -29,8 +29,6 @@ const XTERM_OPTIONS: ITerminalOptions = { fontFamily: '"JetBrains Mono", "Fira Code", monospace', fontSize: 13, convertEol: true, - rows: 24, - cols: 80, }; export function InteractiveAttachModal({ @@ -79,7 +77,7 @@ export function InteractiveAttachModal({ clusterId, namespace, pod, - container + container || "" ); sessionIdRef.current = sid; @@ -111,8 +109,7 @@ export function InteractiveAttachModal({ // Handle user input term.onData((data) => { if (sid) { - const bytes = Array.from(new TextEncoder().encode(data)); - sendPtyStdinCmd(sid, bytes).catch((err) => { + sendPtyStdinCmd(sid, data).catch((err) => { term.write(`\r\n\x1b[31mError sending input: ${err}\x1b[0m\r\n`); }); } diff --git a/src/components/Kubernetes/InteractiveShellModal.tsx b/src/components/Kubernetes/InteractiveShellModal.tsx index 67e9ef6b..2f397c92 100644 --- a/src/components/Kubernetes/InteractiveShellModal.tsx +++ b/src/components/Kubernetes/InteractiveShellModal.tsx @@ -29,8 +29,6 @@ const XTERM_OPTIONS: ITerminalOptions = { fontFamily: '"JetBrains Mono", "Fira Code", monospace', fontSize: 13, convertEol: true, - rows: 24, - cols: 80, }; export function InteractiveShellModal({ @@ -79,7 +77,8 @@ export function InteractiveShellModal({ clusterId, namespace, pod, - container + container || "", + "/bin/sh" ); sessionIdRef.current = sid; @@ -111,8 +110,7 @@ export function InteractiveShellModal({ // Handle user input term.onData((data) => { if (sid) { - const bytes = Array.from(new TextEncoder().encode(data)); - sendPtyStdinCmd(sid, bytes).catch((err) => { + sendPtyStdinCmd(sid, data).catch((err) => { term.write(`\r\n\x1b[31mError sending input: ${err}\x1b[0m\r\n`); }); }