From 974e25bc29b639bef62b3c2508ad75ae8381d4e2 Mon Sep 17 00:00:00 2001 From: jacob314 Date: Tue, 31 Mar 2026 07:45:50 -0700 Subject: [PATCH] Checkpoint no commit. --- .../cli/src/ui/components/ToolConfirmationQueue.test.tsx | 1 + packages/cli/src/ui/components/shared/ScrollableList.tsx | 1 + packages/cli/src/ui/components/shared/VirtualizedList.tsx | 6 ++++-- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/ui/components/ToolConfirmationQueue.test.tsx b/packages/cli/src/ui/components/ToolConfirmationQueue.test.tsx index 490fa0d4a1..451d0f4bb7 100644 --- a/packages/cli/src/ui/components/ToolConfirmationQueue.test.tsx +++ b/packages/cli/src/ui/components/ToolConfirmationQueue.test.tsx @@ -59,6 +59,7 @@ describe('ToolConfirmationQueue', () => { getPlansDir: () => '/mock/temp/plans', }, getUseAlternateBuffer: () => false, + getUseTerminalBuffer: () => false, } as unknown as Config; beforeEach(() => { diff --git a/packages/cli/src/ui/components/shared/ScrollableList.tsx b/packages/cli/src/ui/components/shared/ScrollableList.tsx index 0d45fc5aa1..326005726f 100644 --- a/packages/cli/src/ui/components/shared/ScrollableList.tsx +++ b/packages/cli/src/ui/components/shared/ScrollableList.tsx @@ -35,6 +35,7 @@ interface ScrollableListProps extends VirtualizedListProps { stableScrollback?: boolean; copyModeEnabled?: boolean; isStatic?: boolean; + fixedItemHeight?: boolean; } export type ScrollableListRef = VirtualizedListRef; diff --git a/packages/cli/src/ui/components/shared/VirtualizedList.tsx b/packages/cli/src/ui/components/shared/VirtualizedList.tsx index d540576ced..fc2cb2d3cb 100644 --- a/packages/cli/src/ui/components/shared/VirtualizedList.tsx +++ b/packages/cli/src/ui/components/shared/VirtualizedList.tsx @@ -39,6 +39,7 @@ export type VirtualizedListProps = { scrollbar?: boolean; stableScrollback?: boolean; copyModeEnabled?: boolean; + fixedItemHeight?: boolean; }; export type VirtualizedListRef = { @@ -131,6 +132,7 @@ function VirtualizedList( scrollbar = true, stableScrollback, copyModeEnabled = false, + fixedItemHeight = false, } = props; const dataRef = useRef(data); useLayoutEffect(() => { @@ -443,14 +445,14 @@ function VirtualizedList( const key = keyExtractor(item, i); // Always update the key mapping because React can reuse nodes at different indices/keys nodeToKeyRef.current.set(node, key); - if (!isStatic && !observedNodes.current.has(node)) { + if (!isStatic && !fixedItemHeight && !observedNodes.current.has(node)) { itemsObserver.observe(node); } } } for (const node of observedNodes.current) { if (!currentNodes.has(node)) { - if (!isStatic) { + if (!isStatic && !fixedItemHeight) { itemsObserver.unobserve(node); } nodeToKeyRef.current.delete(node);