ui: response rendering IDs fix
frdel committed
Feb 7, 2026 at 07:20 UTC
f634618fc11c6f688a480141effdb7b8715be99e
1 file changed
+24
-15
webui/js/messages.js
+24
-15
@@ -784,25 +784,34 @@ export function drawMessageResponse({
784
785
// response of agent 0, render as response to user
786
// get last process group or create new container (if first message)
787
+
788
const group = getLastProcessGroup();
788
- let container = null;
789
+ let container = document.getElementById(`message-${id}`); // first check for already existing message
790
790
- if (group) {
791
- // new response, collapse all previous steps once
792
- if (!group.querySelector(".process-group-response")) {
793
- if (preferencesStore.detailMode == "current")
794
- group.querySelectorAll(".process-step").forEach((step) => {
795
- scheduleStepCollapse(step);
796
- });
791
+
792
+ // if no container found, add to previous process group if exists
793
+ if (!container) {
794
+ if (group) {
795
+ // new response, collapse all previous steps once
796
+ if (!group.querySelector(".process-group-response")) {
797
+ if (preferencesStore.detailMode == "current")
798
+ group.querySelectorAll(".process-step").forEach((step) => {
799
+ scheduleStepCollapse(step);
800
+ });
801
+ }
802
+
803
+ container = ensureChild(
804
+ group,
805
+ `#message-${id}.process-group-response`,
806
+ "div",
807
+ "process-group-response",
808
+ );
809
+ container.id = `message-${id}`;
810
}
811
+ }
812
799
- container = ensureChild(
800
- group,
801
- ".process-group-response",
802
- "div",
803
- "process-group-response",
804
- );
805
- } else container = getOrCreateMessageContainer(id, "left");
813
+ // no container or valid process group, create new container
814
+ if (!container) container = getOrCreateMessageContainer(id, "left");
815
816
const messageDiv = _drawMessage({
817
messageContainer: container,