mirror of
https://github.com/google-gemini/gemini-cli.git
synced 2026-06-24 10:17:35 -07:00
feat: add config and keybindings for new ink terminal buffer mode
test: update test utils and resolve snapshot differences for ink changes feat: refactor VirtualizedList to support static rendering and terminal buffers feat: wire up AppContainer mouse mode and recording state for ink buffer Fix stale ref in ScrollProvider breaking scrolling. The ScrollProvider was getting stuck with a stale reference because the `scrollables` Map was being registered and unregistered whenever the entry identity changed. The underlying `ScrollableList` component dynamically created a new ID which caused React remount cycles, while the `ScrollProvider` itself suffered from state lag where the event handler ref was one tick behind the actual registration. This commit resolves these issues by: 1. Adding a stable `id` and `key` to `ScrollableList` in `MainContent.tsx` 2. Making `scrollablesRef` synchronously update in `ScrollProvider.tsx` 3. Using a proxy entry in `useScrollable` to avoid constant re-registering. chore: add useEffect cleanup for ResizeObservers Checkpoint fixing terminal buffer support. Termina Serializer Optimization
This commit is contained in:
@@ -3,5 +3,6 @@
|
||||
exports[`colorizeCode > does not let colors from ansi escape codes leak into colorized code 1`] = `
|
||||
"line 1
|
||||
line 2 with red background
|
||||
line 3"
|
||||
line 3
|
||||
"
|
||||
`;
|
||||
|
||||
@@ -21,6 +21,7 @@ describe('ui-sizing', () => {
|
||||
(expected, width, altBuffer) => {
|
||||
const mockConfig = {
|
||||
getUseAlternateBuffer: () => altBuffer,
|
||||
getUseTerminalBuffer: () => false,
|
||||
} as unknown as Config;
|
||||
expect(calculateMainAreaWidth(width, mockConfig)).toBe(expected);
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user