summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorDaniel Polito <[email protected]>2026-01-16 20:00:56 -0300
committerGitHub <[email protected]>2026-01-16 17:00:56 -0600
commitc325aa11423f0fdadb80c334469d6ea1b86225e1 (patch)
tree14ac4927d7cbed1f6ddd7fb0c984c93e9f304e43
parent6e020ef9ef2b02576b26116a5c4bc7d7bc1c9c5b (diff)
downloadopencode-c325aa11423f0fdadb80c334469d6ea1b86225e1.tar.gz
opencode-c325aa11423f0fdadb80c334469d6ea1b86225e1.zip
fix(desktop): Stream bash output + strip-asni (#8961)
-rw-r--r--bun.lock1
-rw-r--r--packages/ui/package.json1
-rw-r--r--packages/ui/src/components/message-part.tsx3
3 files changed, 4 insertions, 1 deletions
diff --git a/bun.lock b/bun.lock
index e71d700e1..9cda08815 100644
--- a/bun.lock
+++ b/bun.lock
@@ -424,6 +424,7 @@
"shiki": "catalog:",
"solid-js": "catalog:",
"solid-list": "catalog:",
+ "strip-ansi": "7.1.2",
"virtua": "catalog:",
},
"devDependencies": {
diff --git a/packages/ui/package.json b/packages/ui/package.json
index ef6eec23a..0b490591c 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -59,6 +59,7 @@
"shiki": "catalog:",
"solid-js": "catalog:",
"solid-list": "catalog:",
+ "strip-ansi": "7.1.2",
"virtua": "catalog:"
}
}
diff --git a/packages/ui/src/components/message-part.tsx b/packages/ui/src/components/message-part.tsx
index e1a34a324..165f46f6c 100644
--- a/packages/ui/src/components/message-part.tsx
+++ b/packages/ui/src/components/message-part.tsx
@@ -10,6 +10,7 @@ import {
onCleanup,
type JSX,
} from "solid-js"
+import stripAnsi from "strip-ansi"
import { Dynamic } from "solid-js/web"
import {
AgentPart,
@@ -926,7 +927,7 @@ ToolRegistry.register({
>
<div data-component="tool-output" data-scrollable>
<Markdown
- text={`\`\`\`command\n$ ${props.input.command ?? props.metadata.command ?? ""}${props.output ? "\n\n" + props.output : ""}\n\`\`\``}
+ text={`\`\`\`command\n$ ${props.input.command ?? props.metadata.command ?? ""}${props.output || props.metadata.output ? "\n\n" + stripAnsi(props.output || props.metadata.output) : ""}\n\`\`\``}
/>
</div>
</BasicTool>