Fix reasoning/content separation and eliminate empty message divs

- Remove extractReasoningMiddleware as it expects <think> tags but API sends reasoning fields directly
- Ensure reasoning and content tokens create separate assistant messages
- Filter empty assistant messages at conversation level to prevent empty divs
- Add deduplication for tool results to prevent duplicates
- Only render content div when message has actual content
This commit is contained in:
Glen Maddern 2025-06-25 11:51:41 +10:00
commit 4f87d827aa

View file

@ -48,19 +48,22 @@ const ChatMessage: React.FC<ChatMessageProps> = ({
/>
)}
<div className="prose prose-zinc">
<ReactMarkdown
remarkPlugins={[remarkGfm]}
rehypePlugins={[rehypeHighlight]}
components={{
table: ({ children }) => (
<div className="overflow-x-scroll text-sm">{children}</div>
),
}}
>
{message.content}
</ReactMarkdown>
</div>
{/* Only render content div if there's actual content */}
{message.content && message.content.trim() && (
<div className="prose prose-zinc">
<ReactMarkdown
remarkPlugins={[remarkGfm]}
rehypePlugins={[rehypeHighlight]}
components={{
table: ({ children }) => (
<div className="overflow-x-scroll text-sm">{children}</div>
),
}}
>
{message.content}
</ReactMarkdown>
</div>
)}
</div>
</div>
);