diff --git a/webui/index.js b/webui/index.js index 0ea76ede9..0ed983507 100644 --- a/webui/index.js +++ b/webui/index.js @@ -334,6 +334,7 @@ export async function poll() { ); } afterMessagesUpdate(response.logs); + processGroupStore.applyModeSteps(); } lastLogVersion = response.log_version; diff --git a/webui/js/messages.js b/webui/js/messages.js index fab2d9003..1604e8b8e 100644 --- a/webui/js/messages.js +++ b/webui/js/messages.js @@ -1558,9 +1558,13 @@ function addProcessStep(group, id, type, heading, content, kvps, timestamp = nul // Toggle step (store directly modifies DOM - single source of truth) processGroupStore.toggleStep(groupId, id); - // Clear user-pinned flag when manually toggling - // (allows auto-collapse to work again on next expansion) - step.removeAttribute("data-user-pinned"); + // If manually expanded, set pinned flag to prevent auto-collapse + // If collapsed, remove it + if (step.classList.contains("step-expanded")) { + step.setAttribute("data-user-pinned", "true"); + } else { + step.removeAttribute("data-user-pinned"); + } }); step.appendChild(stepHeader); @@ -2077,7 +2081,6 @@ function createStepActionButtons(stepElement) { } }); - btnContainer.appendChild(btn); return btnContainer; }