From a92299069d06c49fdb01dcab6dcdb9c8001b1c52 Mon Sep 17 00:00:00 2001 From: Pyush Sinha Date: Fri, 15 Aug 2025 08:11:43 -0700 Subject: [PATCH] fix: pendingSlashCommandHistoryItems corrected to properly memoize updates (#6282) Co-authored-by: Bryan Morgan --- .../cli/src/ui/hooks/slashCommandProcessor.ts | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.ts index b8799ec3..8ae0041e 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.ts @@ -8,7 +8,6 @@ import { useCallback, useMemo, useEffect, useState } from 'react'; import { type PartListUnion } from '@google/genai'; import process from 'node:process'; import { UseHistoryManagerReturn } from './useHistoryManager.js'; -import { useStateAndRef } from './useStateAndRef.js'; import { Config, GitService, @@ -93,16 +92,16 @@ export const useSlashCommandProcessor = ( return l; }, [config]); - const [pendingCompressionItemRef, setPendingCompressionItem] = - useStateAndRef(null); + const [pendingCompressionItem, setPendingCompressionItem] = + useState(null); const pendingHistoryItems = useMemo(() => { const items: HistoryItemWithoutId[] = []; - if (pendingCompressionItemRef.current != null) { - items.push(pendingCompressionItemRef.current); + if (pendingCompressionItem != null) { + items.push(pendingCompressionItem); } return items; - }, [pendingCompressionItemRef]); + }, [pendingCompressionItem]); const addMessage = useCallback( (message: Message) => { @@ -173,7 +172,7 @@ export const useSlashCommandProcessor = ( }, loadHistory, setDebugMessage: onDebugMessage, - pendingItem: pendingCompressionItemRef.current, + pendingItem: pendingCompressionItem, setPendingItem: setPendingCompressionItem, toggleCorgiMode, toggleVimEnabled, @@ -196,7 +195,7 @@ export const useSlashCommandProcessor = ( refreshStatic, session.stats, onDebugMessage, - pendingCompressionItemRef, + pendingCompressionItem, setPendingCompressionItem, toggleCorgiMode, toggleVimEnabled,