diff --git a/ui/desktop/src/hooks/useChatEngine.ts b/ui/desktop/src/hooks/useChatEngine.ts index 93b1a85166..d76db361eb 100644 --- a/ui/desktop/src/hooks/useChatEngine.ts +++ b/ui/desktop/src/hooks/useChatEngine.ts @@ -15,6 +15,7 @@ import { TextContent, } from '../types/message'; import { ChatType } from '../types/chat'; +import { ChatState } from '../types/chatState'; // Helper function to determine if a message is a user message const isUserMessage = (message: Message): boolean => { @@ -211,10 +212,11 @@ export const useChatEngine = ({ console.error('Error fetching session token count:', err); } }; - if (chat.id) { + // Only fetch session tokens when chat state is idle to avoid resetting during streaming + if (chat.id && chatState === ChatState.Idle) { fetchSessionTokens(); } - }, [chat.id, messages]); + }, [chat.id, messages, chatState]); // Update token counts when sessionMetadata changes from the message stream useEffect(() => {