perf: batch history reactive triggers to rAF in chatEventHandler (#22947)

This commit is contained in:
Algorithm5838
2026-03-24 06:12:37 -05:00
committed by GitHub
parent a9c5c787b9
commit 7ce1e9415a
+16 -1
View File
@@ -536,7 +536,13 @@
console.log('Unknown message type', data);
}
history.messages[event.message_id] = message;
if (type === 'chat:message:delta' || type === 'message' || type === 'status') {
scheduleHistoryFlush();
} else {
cancelAnimationFrame(historyRAF);
historyRAF = null;
history.messages[event.message_id] = message;
}
}
} else {
// Non-active chat completion: queue stays in the global store.
@@ -1279,6 +1285,15 @@
let scrollRAF = null;
let contentsRAF = null;
let historyRAF = null;
const scheduleHistoryFlush = () => {
if (!historyRAF) {
historyRAF = requestAnimationFrame(() => {
historyRAF = null;
history = history;
});
}
};
const scheduleScrollToBottom = () => {
if (!scrollRAF) {
scrollRAF = requestAnimationFrame(async () => {