fix: stabilize legal chat streaming

This commit is contained in:
2026-06-22 11:13:07 +08:00
parent 69ce717ec6
commit a8db7c4bef
2 changed files with 7 additions and 9 deletions
+6 -8
View File
@@ -655,18 +655,16 @@ function normalizeMessagesForDisplay(items: ChatMessage[], lastQuestion: string,
}
function mergeAssistantContent(previous: string, incoming: string) {
const trimmedPrevious = previous.trim();
const trimmedIncoming = incoming.trim();
if (!trimmedIncoming) {
if (!incoming) {
return previous;
}
if (!trimmedPrevious) {
return trimmedIncoming;
if (!previous) {
return incoming.trimStart();
}
if (trimmedIncoming.startsWith(trimmedPrevious)) {
return trimmedIncoming;
if (incoming.startsWith(previous)) {
return incoming;
}
return `${trimmedPrevious}\n\n${trimmedIncoming}`;
return `${previous}${incoming}`;
}
function dedupeMessages(items: ChatMessage[]): ChatMessage[] {
+1 -1
View File
@@ -8,7 +8,7 @@ import {
} from "@/services/http";
import type { ChatSourceItem, ChatStreamEvent, ConversationDetail, ConversationListItem, PageResponse, ReviewChatContext } from "@/types/api";
const STREAM_TIMEOUT_MS = 30000;
const STREAM_TIMEOUT_MS = 180000;
export type StreamChatParams = {
message: string;