Skip to content

Commit 81552bb

Browse files
committed
fix(web): preserve task indicator after stream reconnect
1 parent c178a46 commit 81552bb

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

‎apps/web/src/app/(sandbox)/sessions/[sessionId]/FastSessionTranscript.client.test.tsx‎

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎apps/web/src/app/(sandbox)/sessions/[sessionId]/FastSessionTranscript.tsx‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,9 @@ export function FastSessionTranscript({
301301
useEffect(() => {
302302
hasReceivedInitialSessionStateRef.current = false;
303303
const source = new EventSource(`/api/sessions/${sessionId}/stream`);
304+
const onOpen = () => {
305+
hasReceivedInitialSessionStateRef.current = false;
306+
};
304307
const onMessages = (event: MessageEvent) => {
305308
try {
306309
const { messages, conversationResponding: responding } = JSON.parse(
@@ -379,9 +382,11 @@ export function FastSessionTranscript({
379382
// Ignore malformed frames.
380383
}
381384
};
385+
source.addEventListener('open', onOpen);
382386
source.addEventListener('messages', onMessages);
383387
source.addEventListener('session', onSession);
384388
return () => {
389+
source.removeEventListener('open', onOpen);
385390
source.removeEventListener('messages', onMessages);
386391
source.removeEventListener('session', onSession);
387392
source.close();

0 commit comments

Comments
 (0)