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 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<HistoryItemWithoutId | null>(null);
const [pendingCompressionItem, setPendingCompressionItem] =
useState<HistoryItemWithoutId | null>(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,