Procházet zdrojové kódy

webui : fix handling incomplete chunks (#16107)

Quentin Bramas před 4 měsíci
rodič
revize
138c87ce8b
1 změnil soubory, kde provedl 3 přidání a 1 odebrání
  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: ')) {