mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-03-17 01:21:10 -07:00
fix(cli): fix issue updating a component while rendering a different component (#14319)
This commit is contained in:
@@ -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(() => {
|
||||
|
||||
Reference in New Issue
Block a user