refine thinking part filtering

This commit is contained in:
Shantur Rathore
2025-10-30 16:31:13 +00:00
parent cf3f5a1209
commit 37a47699e3
4 changed files with 55 additions and 5 deletions

View File

@@ -1,7 +1,9 @@
import { For, Show } from "solid-js"
import type { Message } from "../types/message"
import { partHasRenderableText } from "../types/message"
import MessagePart from "./message-part"
interface MessageItemProps {
message: Message
messageInfo?: any
@@ -39,7 +41,11 @@ export default function MessageItem(props: MessageItemProps) {
}
const hasContent = () => {
return messageParts().length > 0 || errorMessage() !== null
if (errorMessage() !== null) {
return true
}
return messageParts().some((part) => partHasRenderableText(part))
}
const isGenerating = () => {

View File

@@ -4,6 +4,7 @@ import { isItemExpanded, toggleItemExpanded } from "../stores/tool-call-state"
import { Markdown } from "./markdown"
import { useTheme } from "../lib/theme"
import { preferences } from "../stores/preferences"
import { partHasRenderableText } from "../types/message"
interface MessagePartProps {
part: any
@@ -23,7 +24,7 @@ export default function MessagePart(props: MessagePartProps) {
return (
<Switch>
<Match when={partType() === "text"}>
<Show when={!props.part.synthetic && props.part.text}>
<Show when={!props.part.synthetic && partHasRenderableText(props.part)}>
<div class="message-text">
<Markdown part={props.part} isDark={isDark()} />
</div>
@@ -39,7 +40,7 @@ export default function MessagePart(props: MessagePartProps) {
</Match>
<Match when={partType() === "reasoning"}>
<Show when={preferences().showThinkingBlocks}>
<Show when={preferences().showThinkingBlocks && partHasRenderableText(props.part)}>
<div class="message-reasoning">
<div class="reasoning-container">
<div class="reasoning-header" onClick={handleReasoningClick}>