From 0b84e24e6563977c370c1c8d971d1880c889aa56 Mon Sep 17 00:00:00 2001 From: "opencode-agent[bot]" <219766164+opencode-agent[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 16:26:14 -0400 Subject: [PATCH] fix(tui): standardize compact terminology (#41141) --- packages/tui/src/mini/footer.command.tsx | 2 +- packages/tui/src/mini/footer.prompt.tsx | 2 +- packages/tui/src/mini/prompt.shared.ts | 3 +-- packages/tui/src/routes/session/index.tsx | 1 - packages/tui/test/mini/prompt.shared.test.ts | 7 +++++++ packages/tui/test/mini/runtime.queue.test.ts | 4 ++-- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/packages/tui/src/mini/footer.command.tsx b/packages/tui/src/mini/footer.command.tsx index 3861fd587dc..2c58dd124e3 100644 --- a/packages/tui/src/mini/footer.command.tsx +++ b/packages/tui/src/mini/footer.command.tsx @@ -407,7 +407,7 @@ export function RunCommandMenuBody(props: { name: "compact", display: "Compact session", footer: "/compact", - keywords: "compact summarize session context", + keywords: "compact session context", }, { action: "slash", diff --git a/packages/tui/src/mini/footer.prompt.tsx b/packages/tui/src/mini/footer.prompt.tsx index 090cfc02879..6a1a6ff7eb7 100644 --- a/packages/tui/src/mini/footer.prompt.tsx +++ b/packages/tui/src/mini/footer.prompt.tsx @@ -406,7 +406,7 @@ export function createPromptState(input: PromptInput): PromptState { kind: "slash", name: "compact", display: "/compact", - description: "summarize the session to reduce context usage", + description: "compact older session context to free space", } satisfies SlashOption, { kind: "slash", name: "exit", display: "/exit", description: "close OpenCode" } satisfies SlashOption, ] diff --git a/packages/tui/src/mini/prompt.shared.ts b/packages/tui/src/mini/prompt.shared.ts index be1e24db867..b1951dc9723 100644 --- a/packages/tui/src/mini/prompt.shared.ts +++ b/packages/tui/src/mini/prompt.shared.ts @@ -54,8 +54,7 @@ export function isNewCommand(input: string): boolean { } export function isCompactCommand(input: string): boolean { - const text = input.trim().toLowerCase() - return text === "/compact" || text === "/summarize" + return input.trim().toLowerCase() === "/compact" } export function createPromptHistory(items?: RunPrompt[]): PromptHistoryState { diff --git a/packages/tui/src/routes/session/index.tsx b/packages/tui/src/routes/session/index.tsx index ec037110ef2..6a295389a39 100644 --- a/packages/tui/src/routes/session/index.tsx +++ b/packages/tui/src/routes/session/index.tsx @@ -635,7 +635,6 @@ export function Session() { group: "Session", slash: { name: "compact", - aliases: ["summarize"], }, run: () => { void client.api.session.compact({ sessionID: route.sessionID }) diff --git a/packages/tui/test/mini/prompt.shared.test.ts b/packages/tui/test/mini/prompt.shared.test.ts index 748228ede60..cec46600b75 100644 --- a/packages/tui/test/mini/prompt.shared.test.ts +++ b/packages/tui/test/mini/prompt.shared.test.ts @@ -1,6 +1,7 @@ import { describe, expect, test } from "bun:test" import { createPromptHistory, + isCompactCommand, isExitCommand, isNewCommand, movePromptHistory, @@ -98,4 +99,10 @@ describe("run prompt shared", () => { expect(isNewCommand(" /NEW ")).toBe(true) expect(isNewCommand("/new now")).toBe(false) }) + + test("recognizes only the compact command", () => { + expect(isCompactCommand("/compact")).toBe(true) + expect(isCompactCommand(" /COMPACT ")).toBe(true) + expect(isCompactCommand("/summarize")).toBe(false) + }) }) diff --git a/packages/tui/test/mini/runtime.queue.test.ts b/packages/tui/test/mini/runtime.queue.test.ts index c9a73e5adcf..d5499ec00d7 100644 --- a/packages/tui/test/mini/runtime.queue.test.ts +++ b/packages/tui/test/mini/runtime.queue.test.ts @@ -80,7 +80,7 @@ describe("run runtime queue", () => { ]) }) - test.each(["/compact", "/summarize"])("treats %s as a local compaction command", async (command) => { + test("treats /compact as a local compaction command", async () => { const ui = createFooterApiFixture() const seen: string[] = [] let compacted = 0 @@ -96,7 +96,7 @@ describe("run runtime queue", () => { }, }) - ui.submit(command) + ui.submit("/compact") ui.submit("hello") await task