From 9eafcc505cf8256a1a7f8c5225aeabc9b422a68c Mon Sep 17 00:00:00 2001 From: Hannes Rudolph Date: Wed, 28 Jan 2026 17:45:41 -0700 Subject: [PATCH] fix: update webview terminal settings to use numeric limits - Add terminalOutputLineLimit, terminalOutputCharacterLimit to SettingsView destructuring - Add terminalCompressProgressBar to SettingsView destructuring - Update TerminalSettings props to pass numeric settings instead of enum - Fix ExtensionStateContext setters for numeric terminal settings --- .../src/components/settings/SettingsView.tsx | 15 ++++++++------- webview-ui/src/context/ExtensionStateContext.tsx | 6 ++++-- 2 files changed, 12 insertions(+), 9 deletions(-) diff --git a/webview-ui/src/components/settings/SettingsView.tsx b/webview-ui/src/components/settings/SettingsView.tsx index 8da067f0b4..265781afae 100644 --- a/webview-ui/src/components/settings/SettingsView.tsx +++ b/webview-ui/src/components/settings/SettingsView.tsx @@ -182,7 +182,10 @@ const SettingsView = forwardRef(({ onDone, t ttsSpeed, soundVolume, telemetrySetting, + terminalOutputLineLimit, + terminalOutputCharacterLimit, terminalOutputPreviewSize, + terminalCompressProgressBar, terminalShellIntegrationTimeout, terminalShellIntegrationDisabled, // Added from upstream terminalCommandDelay, @@ -428,13 +431,9 @@ const SettingsView = forwardRef(({ onDone, t mcpEnabled, // Apply validation bounds only when value is defined, otherwise pass undefined maxOpenTabsContext: - maxOpenTabsContext !== undefined - ? Math.min(Math.max(0, maxOpenTabsContext), 500) - : undefined, + maxOpenTabsContext !== undefined ? Math.min(Math.max(0, maxOpenTabsContext), 500) : undefined, maxWorkspaceFiles: - maxWorkspaceFiles !== undefined - ? Math.min(Math.max(0, maxWorkspaceFiles), 500) - : undefined, + maxWorkspaceFiles !== undefined ? Math.min(Math.max(0, maxWorkspaceFiles), 500) : undefined, showRooIgnoredFiles, enableSubfolderRules, maxReadFileLine, @@ -913,7 +912,8 @@ const SettingsView = forwardRef(({ onDone, t {/* Terminal Section */} {renderTab === "terminal" && ( (({ onDone, t terminalZshOhMy={terminalZshOhMy} terminalZshP10k={terminalZshP10k} terminalZdotdir={terminalZdotdir} + terminalCompressProgressBar={terminalCompressProgressBar} setCachedStateField={setCachedStateField} /> )} diff --git a/webview-ui/src/context/ExtensionStateContext.tsx b/webview-ui/src/context/ExtensionStateContext.tsx index 2cddcd3035..95dbfa687a 100644 --- a/webview-ui/src/context/ExtensionStateContext.tsx +++ b/webview-ui/src/context/ExtensionStateContext.tsx @@ -539,8 +539,10 @@ export const ExtensionStateContextProvider: React.FC<{ children: React.ReactNode setState((prevState) => ({ ...prevState, browserViewportSize: value })), setWriteDelayMs: (value) => setState((prevState) => ({ ...prevState, writeDelayMs: value })), setScreenshotQuality: (value) => setState((prevState) => ({ ...prevState, screenshotQuality: value })), - setTerminalOutputPreviewSize: (value) => - setState((prevState) => ({ ...prevState, terminalOutputPreviewSize: value })), + setTerminalOutputLineLimit: (value) => + setState((prevState) => ({ ...prevState, terminalOutputLineLimit: value })), + setTerminalOutputCharacterLimit: (value) => + setState((prevState) => ({ ...prevState, terminalOutputCharacterLimit: value })), setTerminalShellIntegrationTimeout: (value) => setState((prevState) => ({ ...prevState, terminalShellIntegrationTimeout: value })), setTerminalShellIntegrationDisabled: (value) =>