Skip to content

Commit 9999d6d

Browse files
committed
refactor(ui): isolate chat stream reconciliation
1 parent 725ccea commit 9999d6d

4 files changed

Lines changed: 531 additions & 419 deletions

File tree

ui/src/ui/chat/build-chat-items.ts

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { extractTextCached } from "./message-extract.ts";
99
import { normalizeMessage, stripMessageDisplayMetadataText } from "./message-normalizer.ts";
1010
import { normalizeRoleForGrouping } from "./role-normalizer.ts";
1111
import { messageMatchesSearchQuery } from "./search-match.ts";
12+
import { trimAccumulatedStreamPrefix } from "./stream-text.ts";
1213
import { extractToolCardsCached, extractToolPreview } from "./tool-cards.ts";
1314
import { buildUserChatMessageContentBlocks } from "./user-message-content.ts";
1415

@@ -292,13 +293,6 @@ function sanitizeStreamText(text: string): string {
292293
return stripped.trim().length > 0 ? stripped : "";
293294
}
294295

295-
function trimAccumulatedStreamPrefix(text: string, previousText: string | null): string {
296-
if (!previousText || !text.startsWith(previousText)) {
297-
return text;
298-
}
299-
return text.slice(previousText.length).trimStart();
300-
}
301-
302296
function shouldRenderQueuedSendInThread(item: ChatQueueItem): boolean {
303297
if (typeof item.sendSubmittedAtMs !== "number" || item.sendState === "failed") {
304298
return false;

0 commit comments

Comments
 (0)