Mark-Lasfar
commited on
Commit
·
df83e4e
1
Parent(s):
b241aa5
add chat
Browse files- static/js/chat.js +8 -3
static/js/chat.js
CHANGED
|
@@ -751,18 +751,23 @@ async function submitMessage() {
|
|
| 751 |
const reader = response.body.getReader();
|
| 752 |
const decoder = new TextDecoder();
|
| 753 |
let buffer = '';
|
|
|
|
|
|
|
|
|
|
| 754 |
while (true) {
|
| 755 |
const { done, value } = await reader.read();
|
| 756 |
if (done) {
|
| 757 |
if (!buffer.trim()) throw new Error('Empty response from server');
|
| 758 |
break;
|
| 759 |
}
|
| 760 |
-
|
|
|
|
|
|
|
|
|
|
| 761 |
if (streamMsg) {
|
| 762 |
streamMsg.dataset.text = buffer;
|
| 763 |
currentAssistantText = buffer;
|
| 764 |
-
streamMsg
|
| 765 |
-
renderMarkdown(streamMsg);
|
| 766 |
}
|
| 767 |
}
|
| 768 |
responseText = buffer;
|
|
|
|
| 751 |
const reader = response.body.getReader();
|
| 752 |
const decoder = new TextDecoder();
|
| 753 |
let buffer = '';
|
| 754 |
+
streamMsg.dataset.text = ''; // مسح النص القديم
|
| 755 |
+
streamMsg.querySelector('.loading')?.remove(); // إزالة مؤشر التحميل
|
| 756 |
+
|
| 757 |
while (true) {
|
| 758 |
const { done, value } = await reader.read();
|
| 759 |
if (done) {
|
| 760 |
if (!buffer.trim()) throw new Error('Empty response from server');
|
| 761 |
break;
|
| 762 |
}
|
| 763 |
+
const chunk = decoder.decode(value, { stream: true });
|
| 764 |
+
buffer += chunk;
|
| 765 |
+
|
| 766 |
+
// تحديث النص في streamMsg فورًا
|
| 767 |
if (streamMsg) {
|
| 768 |
streamMsg.dataset.text = buffer;
|
| 769 |
currentAssistantText = buffer;
|
| 770 |
+
renderMarkdown(streamMsg); // إعادة رسم الـ Markdown لكل قطعة
|
|
|
|
| 771 |
}
|
| 772 |
}
|
| 773 |
responseText = buffer;
|