mirror of
https://github.com/siteboon/claudecodeui.git
synced 2026-06-29 07:55:29 +08:00
fix(chat): stop orphaned tool results rendering as raw text during pagination
Sessions load in pages from the bottom up, so a loaded page often contains a tool_result whose tool_use sits in an older, not-yet-loaded page. That result wasn't recognized as attached, so it was pushed as a standalone assistant message and its raw output rendered as unstyled Markdown. It only "fixed itself" once the user scrolled up far enough to load the page with the matching tool_use. Skip results that have a toolId but no matching tool_use in the loaded set — they attach and render correctly (inside their command row/group) once the older page loads. Results with no toolId still render as before.
This commit is contained in:
@@ -207,6 +207,15 @@ export function normalizedToChatMessages(messages: NormalizedMessage[]): ChatMes
|
||||
break;
|
||||
}
|
||||
|
||||
// A result with a toolId but no matching tool_use in the loaded set is
|
||||
// almost always a tool_use/tool_result pair split across a pagination
|
||||
// boundary (older page not loaded yet). Rendering its raw content here
|
||||
// produces an unstyled dump that "fixes itself" once the older page
|
||||
// loads; skip it and let it attach to its tool_use when that arrives.
|
||||
if (msg.toolId) {
|
||||
break;
|
||||
}
|
||||
|
||||
const content = formatToolResultContent(msg.content || '');
|
||||
if (!content.trim()) {
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user