Просмотр исходного кода

webui : fix handling incomplete chunks (#16107)

Quentin Bramas 3 месяцев назад
Родитель
Сommit
138c87ce8b
1 измененных файлов с 3 добавлено и 1 удалено
  1. 3 1
      tools/server/webui/src/lib/services/chat.ts

+ 3 - 1
tools/server/webui/src/lib/services/chat.ts

@@ -264,12 +264,14 @@ export class ChatService {
 		let lastTimings: ChatMessageTimings | undefined;
 
 		try {
+			let chunk = '';
 			while (true) {
 				const { done, value } = await reader.read();
 				if (done) break;
 
-				const chunk = decoder.decode(value, { stream: true });
+				chunk += decoder.decode(value, { stream: true });
 				const lines = chunk.split('\n');
+				chunk = lines.pop() || ''; // Save incomplete line for next read
 
 				for (const line of lines) {
 					if (line.startsWith('data: ')) {