fix: pendingSlashCommandHistoryItems corrected to properly memoize updates (#6282)

Co-authored-by: Bryan Morgan <bryanmorgan@google.com>
This commit is contained in:
Pyush Sinha 2025-08-15 08:11:43 -07:00 committed by GitHub
parent 41c5195ed3
commit a92299069d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 7 additions and 8 deletions

View File

@ -8,7 +8,6 @@ import { useCallback, useMemo, useEffect, useState } from 'react';
import { type PartListUnion } from '@google/genai'; import { type PartListUnion } from '@google/genai';
import process from 'node:process'; import process from 'node:process';
import { UseHistoryManagerReturn } from './useHistoryManager.js'; import { UseHistoryManagerReturn } from './useHistoryManager.js';
import { useStateAndRef } from './useStateAndRef.js';
import { import {
Config, Config,
GitService, GitService,
@ -93,16 +92,16 @@ export const useSlashCommandProcessor = (
return l; return l;
}, [config]); }, [config]);
const [pendingCompressionItemRef, setPendingCompressionItem] = const [pendingCompressionItem, setPendingCompressionItem] =
useStateAndRef<HistoryItemWithoutId | null>(null); useState<HistoryItemWithoutId | null>(null);
const pendingHistoryItems = useMemo(() => { const pendingHistoryItems = useMemo(() => {
const items: HistoryItemWithoutId[] = []; const items: HistoryItemWithoutId[] = [];
if (pendingCompressionItemRef.current != null) { if (pendingCompressionItem != null) {
items.push(pendingCompressionItemRef.current); items.push(pendingCompressionItem);
} }
return items; return items;
}, [pendingCompressionItemRef]); }, [pendingCompressionItem]);
const addMessage = useCallback( const addMessage = useCallback(
(message: Message) => { (message: Message) => {
@ -173,7 +172,7 @@ export const useSlashCommandProcessor = (
}, },
loadHistory, loadHistory,
setDebugMessage: onDebugMessage, setDebugMessage: onDebugMessage,
pendingItem: pendingCompressionItemRef.current, pendingItem: pendingCompressionItem,
setPendingItem: setPendingCompressionItem, setPendingItem: setPendingCompressionItem,
toggleCorgiMode, toggleCorgiMode,
toggleVimEnabled, toggleVimEnabled,
@ -196,7 +195,7 @@ export const useSlashCommandProcessor = (
refreshStatic, refreshStatic,
session.stats, session.stats,
onDebugMessage, onDebugMessage,
pendingCompressionItemRef, pendingCompressionItem,
setPendingCompressionItem, setPendingCompressionItem,
toggleCorgiMode, toggleCorgiMode,
toggleVimEnabled, toggleVimEnabled,