diff --git a/src/cli/components/AssistantMessageRich.tsx b/src/cli/components/AssistantMessageRich.tsx index 0715b60..4a5c160 100644 --- a/src/cli/components/AssistantMessageRich.tsx +++ b/src/cli/components/AssistantMessageRich.tsx @@ -5,12 +5,12 @@ import { MarkdownDisplay } from "./MarkdownDisplay.js"; import { Text } from "./Text"; // Helper function to normalize text - copied from old codebase +// NOTE: Less aggressive than before to preserve spacing when content is split across chunks const normalize = (s: string) => s .replace(/\r\n/g, "\n") - .replace(/[ \t]+$/gm, "") .replace(/\n{3,}/g, "\n\n") - .replace(/^\n+|\n+$/g, ""); + .replace(/^\n+/g, ""); // Only trim leading newlines, preserve trailing ones type AssistantLine = { kind: "assistant"; diff --git a/src/cli/components/ReasoningMessageRich.tsx b/src/cli/components/ReasoningMessageRich.tsx index 1c9d78f..84bfa1c 100644 --- a/src/cli/components/ReasoningMessageRich.tsx +++ b/src/cli/components/ReasoningMessageRich.tsx @@ -5,12 +5,12 @@ import { MarkdownDisplay } from "./MarkdownDisplay.js"; import { Text } from "./Text"; // Helper function to normalize text - copied from old codebase +// NOTE: Less aggressive than before to preserve spacing when content is split across chunks const normalize = (s: string) => s .replace(/\r\n/g, "\n") - .replace(/[ \t]+$/gm, "") .replace(/\n{3,}/g, "\n\n") - .replace(/^\n+|\n+$/g, ""); + .replace(/^\n+/g, ""); // Only trim leading newlines, preserve trailing ones type ReasoningLine = { kind: "reasoning";