fix(cli): fix issue updating a component while rendering a different component (#14319)

This commit is contained in:
Jacob Richman
2025-12-01 17:33:03 -08:00
committed by GitHub
parent 98d7238ed6
commit 1689e9b671
9 changed files with 43 additions and 90 deletions

View File

@@ -18,7 +18,7 @@ export interface UseMessageQueueReturn {
addMessage: (message: string) => void;
clearQueue: () => void;
getQueuedMessagesText: () => string;
popAllMessages: (onPop: (messages: string | undefined) => void) => void;
popAllMessages: () => string | undefined;
}
/**
@@ -53,21 +53,14 @@ export function useMessageQueue({
}, [messageQueue]);
// Pop all messages from the queue and return them as a single string
const popAllMessages = useCallback(
(onPop: (messages: string | undefined) => void) => {
setMessageQueue((prev) => {
if (prev.length === 0) {
onPop(undefined);
return prev;
}
// Join all messages with double newlines, same as when they're sent
const allMessages = prev.join('\n\n');
onPop(allMessages);
return []; // Clear the entire queue
});
},
[],
);
const popAllMessages = useCallback(() => {
if (messageQueue.length === 0) {
return undefined;
}
const allMessages = messageQueue.join('\n\n');
setMessageQueue([]);
return allMessages;
}, [messageQueue]);
// Process queued messages when streaming becomes idle
useEffect(() => {