From 5e218a56303a3b634218128a4068bbe7e62eb0c9 Mon Sep 17 00:00:00 2001 From: Jacob Richman Date: Fri, 21 Nov 2025 17:30:38 -0800 Subject: [PATCH] Turn off alternate buffer mode by default. (#13623) --- docs/get-started/configuration.md | 2 +- integration-tests/test-helper.ts | 3 +++ packages/cli/src/config/settingsSchema.ts | 2 +- packages/cli/src/gemini.test.tsx | 1 + packages/cli/src/test-utils/render.tsx | 2 +- packages/cli/src/ui/hooks/useAlternateBuffer.ts | 2 +- schemas/settings.schema.json | 4 ++-- 7 files changed, 10 insertions(+), 6 deletions(-) diff --git a/docs/get-started/configuration.md b/docs/get-started/configuration.md index 101c003358..a7a7213df2 100644 --- a/docs/get-started/configuration.md +++ b/docs/get-started/configuration.md @@ -240,7 +240,7 @@ their corresponding top-level category object in your `settings.json` file. - **`ui.useAlternateBuffer`** (boolean): - **Description:** Use an alternate screen buffer for the UI, preserving shell history. - - **Default:** `true` + - **Default:** `false` - **Requires restart:** Yes - **`ui.incrementalRendering`** (boolean): diff --git a/integration-tests/test-helper.ts b/integration-tests/test-helper.ts index e83939420c..94d3e697b8 100644 --- a/integration-tests/test-helper.ts +++ b/integration-tests/test-helper.ts @@ -321,6 +321,9 @@ export class TestRig { selectedType: 'gemini-api-key', }, }, + ui: { + useAlternateBuffer: true, + }, model: DEFAULT_GEMINI_MODEL, sandbox: env['GEMINI_SANDBOX'] !== 'false' ? env['GEMINI_SANDBOX'] : false, diff --git a/packages/cli/src/config/settingsSchema.ts b/packages/cli/src/config/settingsSchema.ts index 5222ed32f4..0fcae7874a 100644 --- a/packages/cli/src/config/settingsSchema.ts +++ b/packages/cli/src/config/settingsSchema.ts @@ -516,7 +516,7 @@ const SETTINGS_SCHEMA = { label: 'Use Alternate Screen Buffer', category: 'UI', requiresRestart: true, - default: true, + default: false, description: 'Use an alternate screen buffer for the UI, preserving shell history.', showInDialog: true, diff --git a/packages/cli/src/gemini.test.tsx b/packages/cli/src/gemini.test.tsx index ef4efd8965..8caca0c5c4 100644 --- a/packages/cli/src/gemini.test.tsx +++ b/packages/cli/src/gemini.test.tsx @@ -509,6 +509,7 @@ describe('startInteractiveUI', () => { merged: { ui: { hideWindowTitle: false, + useAlternateBuffer: true, }, }, } as LoadedSettings; diff --git a/packages/cli/src/test-utils/render.tsx b/packages/cli/src/test-utils/render.tsx index 0cc3ab1251..74335963b1 100644 --- a/packages/cli/src/test-utils/render.tsx +++ b/packages/cli/src/test-utils/render.tsx @@ -176,7 +176,7 @@ export const renderWithProviders = ( width, mouseEventsEnabled = false, config = configProxy as unknown as Config, - useAlternateBuffer, + useAlternateBuffer = true, uiActions, }: { shellFocus?: boolean; diff --git a/packages/cli/src/ui/hooks/useAlternateBuffer.ts b/packages/cli/src/ui/hooks/useAlternateBuffer.ts index efa8fbf3cf..ba5dd460ee 100644 --- a/packages/cli/src/ui/hooks/useAlternateBuffer.ts +++ b/packages/cli/src/ui/hooks/useAlternateBuffer.ts @@ -8,7 +8,7 @@ import { useSettings } from '../contexts/SettingsContext.js'; import type { LoadedSettings } from '../../config/settings.js'; export const isAlternateBufferEnabled = (settings: LoadedSettings): boolean => - settings.merged.ui?.useAlternateBuffer !== false; + settings.merged.ui?.useAlternateBuffer === true; export const useAlternateBuffer = (): boolean => { const settings = useSettings(); diff --git a/schemas/settings.schema.json b/schemas/settings.schema.json index a874852120..8f2f74f7f5 100644 --- a/schemas/settings.schema.json +++ b/schemas/settings.schema.json @@ -292,8 +292,8 @@ "useAlternateBuffer": { "title": "Use Alternate Screen Buffer", "description": "Use an alternate screen buffer for the UI, preserving shell history.", - "markdownDescription": "Use an alternate screen buffer for the UI, preserving shell history.\n\n- Category: `UI`\n- Requires restart: `yes`\n- Default: `true`", - "default": true, + "markdownDescription": "Use an alternate screen buffer for the UI, preserving shell history.\n\n- Category: `UI`\n- Requires restart: `yes`\n- Default: `false`", + "default": false, "type": "boolean" }, "incrementalRendering": {