Stream each task's transcript over its own SSE; keep session note order
This commit is contained in:
Vendored
+7
-3
@@ -93,14 +93,18 @@ export function mountTranscript(root) {
|
||||
transcript.scrollTop = transcript.scrollHeight;
|
||||
}
|
||||
};
|
||||
const put = (el) => {
|
||||
if (spinner.parentNode === transcript) {
|
||||
const putBefore = (el, anchor) => {
|
||||
if (anchor?.parentNode === transcript) {
|
||||
transcript.insertBefore(el, anchor);
|
||||
}
|
||||
else if (spinner.parentNode === transcript) {
|
||||
transcript.insertBefore(el, spinner);
|
||||
}
|
||||
else {
|
||||
transcript.append(el);
|
||||
}
|
||||
};
|
||||
const put = (el) => putBefore(el, pending[0]?.el);
|
||||
const renderHead = () => {
|
||||
const task = state.selectedTaskId ? findTask(state.selectedTaskId) : undefined;
|
||||
setRunning(task !== undefined && currentSession(task.id)?.state === "running");
|
||||
@@ -168,7 +172,7 @@ export function mountTranscript(root) {
|
||||
const entry = { el, text, imgs };
|
||||
pending.push(entry);
|
||||
ctx.run = undefined;
|
||||
put(el);
|
||||
putBefore(el, spinner);
|
||||
transcript.scrollTop = transcript.scrollHeight;
|
||||
return () => {
|
||||
el.remove();
|
||||
|
||||
Reference in New Issue
Block a user