perf: batch scrollToBottom during streaming via rAF (#21946)
This commit is contained in:
@@ -1281,6 +1281,16 @@
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
let scrollRAF = null;
|
||||||
|
const scheduleScrollToBottom = () => {
|
||||||
|
if (!scrollRAF) {
|
||||||
|
scrollRAF = requestAnimationFrame(async () => {
|
||||||
|
scrollRAF = null;
|
||||||
|
await scrollToBottom();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
const chatCompletedHandler = async (_chatId, modelId, responseMessageId, messages) => {
|
const chatCompletedHandler = async (_chatId, modelId, responseMessageId, messages) => {
|
||||||
const res = await chatCompleted(localStorage.token, {
|
const res = await chatCompleted(localStorage.token, {
|
||||||
model: modelId,
|
model: modelId,
|
||||||
@@ -1698,7 +1708,7 @@
|
|||||||
await tick();
|
await tick();
|
||||||
|
|
||||||
if (autoScroll) {
|
if (autoScroll) {
|
||||||
scrollToBottom();
|
scheduleScrollToBottom();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2482,7 +2492,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (autoScroll) {
|
if (autoScroll) {
|
||||||
scrollToBottom();
|
scheduleScrollToBottom();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user