From e81983cab6f0cf15ce567d27dc80c8e6776cd1c1 Mon Sep 17 00:00:00 2001 From: Meleki Date: Mon, 9 Mar 2026 20:02:20 +0100 Subject: [PATCH] fix: todo_write Ergebnisse nach History-Load/Poll sichtbar rendern MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit tool_use case setzt jetzt dataset.toolName auf das DOM-Element. tool_result case erkennt todo_write und ruft buildTodoList() auf statt ein hidden text-div anzuhängen. --- wwwroot/js/history.js | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/wwwroot/js/history.js b/wwwroot/js/history.js index 9bd6a74..327f470 100644 --- a/wwwroot/js/history.js +++ b/wwwroot/js/history.js @@ -240,6 +240,7 @@ function _renderMessagesIntoFragment(fragment, msgs, imageMessageIds, opts) { if (!isToolVisible(msg.toolName)) continue; var toolDiv = document.createElement('div'); toolDiv.className = 'tool-box' + (archived ? ' archived' : ''); + toolDiv.dataset.toolName = msg.toolName; renderToolBoxContent(toolDiv, msg.toolName, msg.content, null, false); fragment.appendChild(toolDiv); break; @@ -259,12 +260,17 @@ function _renderMessagesIntoFragment(fragment, msgs, imageMessageIds, opts) { if (msg._choiceHandled) continue; const prevBoxes = fragment.querySelectorAll('.tool-box'); const lastToolBox = prevBoxes[prevBoxes.length - 1]; - if (lastToolBox && !lastToolBox.querySelector('.tool-result')) { - const rd = document.createElement('div'); - rd.className = 'tool-result' + (msg.isError ? ' tool-error' : ''); - rd.textContent = truncate(msg.content || '', 300); - rd.hidden = true; - lastToolBox.appendChild(rd); + if (lastToolBox && !lastToolBox.querySelector('.tool-result') && !lastToolBox.querySelector('.todo-list')) { + // todo_write: nachträglich die Todo-Liste rendern (sichtbar) + if (lastToolBox.dataset.toolName === 'todo_write') { + lastToolBox.appendChild(buildTodoList(msg.content || '', msg.isError)); + } else { + const rd = document.createElement('div'); + rd.className = 'tool-result' + (msg.isError ? ' tool-error' : ''); + rd.textContent = truncate(msg.content || '', 300); + rd.hidden = true; + lastToolBox.appendChild(rd); + } } continue; }