diff --git a/desktop/src/components/chat/CodeViewer.tsx b/desktop/src/components/chat/CodeViewer.tsx index 57abd7ed..ef9489a1 100644 --- a/desktop/src/components/chat/CodeViewer.tsx +++ b/desktop/src/components/chat/CodeViewer.tsx @@ -40,6 +40,7 @@ export function CodeViewer({ code, language, maxLines = 20, showLineNumbers = tr
{tokens.map((line, i) => {
const lineProps = getLineProps({ line })
+ const hasLanguage = !!language && language !== 'text'
return effectiveShowLineNumbers ? (
-
- {line.map((token, key) => (
-
- ))}
+
+ {hasLanguage ? (
+ line.map((token, key) => (
+
+ ))
+ ) : (
+ line.map((token, key) => (
+
+ ))
+ )}
)
diff --git a/desktop/src/components/chat/MessageList.tsx b/desktop/src/components/chat/MessageList.tsx
index 430fb751..8c06b23e 100644
--- a/desktop/src/components/chat/MessageList.tsx
+++ b/desktop/src/components/chat/MessageList.tsx
@@ -117,7 +117,10 @@ export function MessageList() {
)}
- {chatState !== 'idle' && chatState !== 'streaming' && chatState !== 'permission_pending' && (
+ {/* Only show StreamingIndicator for tool_executing state.
+ During 'thinking', the active ThinkingBlock already shows animation.
+ During 'streaming', the AssistantMessage shows the cursor. */}
+ {chatState === 'tool_executing' && (
)}