From 8023aed98b95a14c0080b90630743e24f1bdb9d4 Mon Sep 17 00:00:00 2001 From: Mohamed Boudra Date: Thu, 1 Jan 2026 21:26:05 +0700 Subject: [PATCH] Fix working indicator padding and remove redundant streaming dots MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Align working indicator left padding with AssistantMessage (spacing[4]) - Remove isStreaming prop and "..." indicator from AssistantMessage - The WorkingIndicator already shows agent is running, no need for duplicate 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- .../app/src/components/agent-stream-view.tsx | 3 +- packages/app/src/components/message.tsx | 43 ------------------- .../components/orchestrator-messages-view.tsx | 1 - 3 files changed, 1 insertion(+), 46 deletions(-) diff --git a/packages/app/src/components/agent-stream-view.tsx b/packages/app/src/components/agent-stream-view.tsx index e7a06fd7a..ad5ceb710 100644 --- a/packages/app/src/components/agent-stream-view.tsx +++ b/packages/app/src/components/agent-stream-view.tsx @@ -272,7 +272,6 @@ export function AgentStreamView({ message={item.text} timestamp={item.timestamp.getTime()} onInlinePathPress={handleInlinePathPress} - isStreaming={streamingItemId === item.id} /> ); break; @@ -1074,7 +1073,7 @@ const stylesheet = StyleSheet.create((theme) => ({ gap: theme.spacing[2], paddingHorizontal: 0, paddingVertical: theme.spacing[1], - paddingLeft: theme.spacing[1], + paddingLeft: theme.spacing[4], borderRadius: theme.borderRadius.full, backgroundColor: "transparent", borderWidth: 0, diff --git a/packages/app/src/components/message.tsx b/packages/app/src/components/message.tsx index f67ca5446..3fd5a303d 100644 --- a/packages/app/src/components/message.tsx +++ b/packages/app/src/components/message.tsx @@ -144,7 +144,6 @@ export interface InlinePathTarget { interface AssistantMessageProps { message: string; timestamp: number; - isStreaming?: boolean; onInlinePathPress?: (target: InlinePathTarget) => void; } @@ -154,14 +153,6 @@ export const assistantMessageStylesheet = StyleSheet.create((theme) => ({ paddingHorizontal: theme.spacing[4], paddingVertical: theme.spacing[3], }, - streamingIndicator: { - marginTop: theme.spacing[1], - }, - streamingText: { - color: theme.colors.palette.teal[200], - fontSize: theme.fontSize.xs, - fontWeight: theme.fontWeight.bold, - }, // Used in custom markdownRules for inline code styling markdownCodeInline: { backgroundColor: theme.colors.secondary, @@ -326,11 +317,9 @@ function parseInlinePathToken( export const AssistantMessage = memo(function AssistantMessage({ message, timestamp, - isStreaming = false, onInlinePathPress, }: AssistantMessageProps) { const { theme } = useUnistyles(); - const fadeAnim = useRef(new Animated.Value(0.3)).current; const lastPathRef = useRef(null); const markdownStyles = useMemo( @@ -467,43 +456,11 @@ export const AssistantMessage = memo(function AssistantMessage({ }; }, [onInlinePathPress]); - useEffect(() => { - if (isStreaming) { - Animated.loop( - Animated.sequence([ - Animated.timing(fadeAnim, { - toValue: 1, - duration: 600, - useNativeDriver: true, - }), - Animated.timing(fadeAnim, { - toValue: 0.3, - duration: 600, - useNativeDriver: true, - }), - ]) - ).start(); - } else { - fadeAnim.stopAnimation(); - fadeAnim.setValue(1); - } - }, [isStreaming, fadeAnim]); - return ( {message} - {isStreaming && ( - - ... - - )} ); }); diff --git a/packages/app/src/components/orchestrator-messages-view.tsx b/packages/app/src/components/orchestrator-messages-view.tsx index 711794134..0fadaa911 100644 --- a/packages/app/src/components/orchestrator-messages-view.tsx +++ b/packages/app/src/components/orchestrator-messages-view.tsx @@ -98,7 +98,6 @@ export const OrchestratorMessagesView = forwardRef )}