From 33c63be980ce2040bee45a5a733aba67121d61e8 Mon Sep 17 00:00:00 2001 From: Ariane Emory <97994360+ariane-emory@users.noreply.github.com> Date: Fri, 28 Nov 2025 16:01:05 -0500 Subject: [PATCH] feat: persist thinking blocks display to KV and indicate its current display state in the command_list (resolves #4582) (#4810) Co-authored-by: GitHub Action Co-authored-by: opencode-agent[bot] Co-authored-by: rekram1-node Co-authored-by: Aiden Cline --- .../src/cli/cmd/tui/component/prompt/autocomplete.tsx | 2 +- .../opencode/src/cli/cmd/tui/routes/session/index.tsx | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx index 4232f3ae8..f74a176ec 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/autocomplete.tsx @@ -239,7 +239,7 @@ export function Autocomplete(props: { }, { display: "/thinking", - description: "toggle thinking blocks", + description: "toggle thinking visibility", onSelect: () => command.trigger("session.toggle.thinking"), }, ) diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index fdbcb34f9..fcf562782 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -111,7 +111,7 @@ export function Session() { const dimensions = useTerminalDimensions() const [sidebar, setSidebar] = createSignal<"show" | "hide" | "auto">(kv.get("sidebar", "auto")) const [conceal, setConceal] = createSignal(true) - const [showThinking, setShowThinking] = createSignal(true) + const [showThinking, setShowThinking] = createSignal(kv.get("thinking_visibility", true)) const [showTimestamps, setShowTimestamps] = createSignal(kv.get("timestamps", "hide") === "show") const wide = createMemo(() => dimensions().width > 120) @@ -430,11 +430,15 @@ export function Session() { }, }, { - title: "Toggle thinking blocks", + title: showThinking() ? "Hide thinking" : "Show thinking", value: "session.toggle.thinking", category: "Session", onSelect: (dialog) => { - setShowThinking((prev) => !prev) + setShowThinking((prev) => { + const next = !prev + kv.set("thinking_visibility", next) + return next + }) dialog.clear() }, },