From 8ce4a8a07d5ced642e03243b6d71280992d33807 Mon Sep 17 00:00:00 2001 From: Shakker Date: Fri, 21 Aug 2026 23:07:43 +0100 Subject: [PATCH] fix: remount post-steer stream rows --- ui/src/e2e/chat-flow.active-run-follow-ups.e2e.test.ts | 5 +++++ ui/src/pages/chat/chat-thread-build.ts | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ui/src/e2e/chat-flow.active-run-follow-ups.e2e.test.ts b/ui/src/e2e/chat-flow.active-run-follow-ups.e2e.test.ts index 06485957954a..3a507f4ebe2f 100644 --- a/ui/src/e2e/chat-flow.active-run-follow-ups.e2e.test.ts +++ b/ui/src/e2e/chat-flow.active-run-follow-ups.e2e.test.ts @@ -277,6 +277,10 @@ suite.define(() => { result: "process complete", toolCallId: "callProcess", }); + const workingRowKey = await page + .locator("[data-virtual-row-key^='stream-run:']") + .last() + .getAttribute("data-virtual-row-key"); const finalText = Array.from( { length: 18 }, (_, index) => @@ -302,6 +306,7 @@ suite.define(() => { "xpath=ancestor::div[contains(@class, 'chat-virtual-row')]", ); await streamingRow.waitFor(); + expect(await streamingRow.getAttribute("data-virtual-row-key")).not.toBe(workingRowKey); const steerBubble = page.locator(".chat-group.user", { hasText: steerText }).last(); const [steerBounds, streamingBounds] = await Promise.all([ steerBubble.boundingBox(), diff --git a/ui/src/pages/chat/chat-thread-build.ts b/ui/src/pages/chat/chat-thread-build.ts index c8668e9f657f..26060726fea1 100644 --- a/ui/src/pages/chat/chat-thread-build.ts +++ b/ui/src/pages/chat/chat-thread-build.ts @@ -714,7 +714,9 @@ export function buildChatItems(props: BuildChatItemsProps): Array