diff --git a/web/src/components/Chat/ChatContent.tsx b/web/src/components/Chat/ChatContent.tsx index b06e1e88..5c722e45 100644 --- a/web/src/components/Chat/ChatContent.tsx +++ b/web/src/components/Chat/ChatContent.tsx @@ -2,7 +2,7 @@ * @Author: ZhaoYing * @Date: 2025-12-10 16:46:17 * @Last Modified by: ZhaoYing - * @Last Modified time: 2026-04-08 11:23:18 + * @Last Modified time: 2026-04-10 18:46:57 */ import { type FC, useRef, useEffect, useState } from 'react' import clsx from 'clsx' @@ -217,7 +217,7 @@ const ChatContent: FC = ({ {/* Message bubble */}
= ({ addAssistantMessage() const handleStreamMessage = (data: SSEMessage[]) => { - setCompareLoading(false) data.map(item => { const { model_config_id, conversation_id, content, message_length, audio_url, citations } = item.data as { @@ -306,12 +305,21 @@ const Chat: FC = ({ switch (item.event) { case 'model_reasoning': + if (compareLoading) { + setCompareLoading(false) + } updateAssistantReasoningMessage(content, model_config_id, conversation_id) break; case 'model_message': + if (compareLoading) { + setCompareLoading(false) + } updateAssistantMessage(content, model_config_id, conversation_id, audio_url) break; case 'model_end': + if (compareLoading) { + setCompareLoading(false) + } const idToPoll = `${model_config_id}_${audio_url}` if (audio_url && !audioStatusMap[idToPoll]) { setAudioStatusMap(prev => ({ @@ -352,6 +360,9 @@ const Chat: FC = ({ updateErrorAssistantMessage(message_length, model_config_id) break; case 'compare_end': + if (compareLoading) { + setCompareLoading(false) + } setLoading(false); break; } @@ -473,7 +484,6 @@ const Chat: FC = ({ addClusterAssistantMessage() const handleStreamMessage = (data: SSEMessage[]) => { - setCompareLoading(false) data.map(item => { const { conversation_id, content, message_length } = item.data as { conversation_id: string, content: string, message_length: number }; @@ -485,15 +495,24 @@ const Chat: FC = ({ } break case 'message': + if (compareLoading) { + setCompareLoading(false) + } updateClusterAssistantMessage(content) if (conversation_id && conversationId !== conversation_id) { setConversationId(conversation_id); } break; case 'model_end': + if (compareLoading) { + setCompareLoading(false) + } updateClusterErrorAssistantMessage(message_length) break; case 'compare_end': + if (compareLoading) { + setCompareLoading(false) + } setLoading(false); break; }