diff options
| author | Taylor Mullen <[email protected]> | 2025-04-25 17:11:08 -0700 |
|---|---|---|
| committer | N. Taylor Mullen <[email protected]> | 2025-04-26 16:08:05 -0700 |
| commit | 5be89befeff9c4d4f3ab9f508f030bc153fdd06b (patch) | |
| tree | 9d4f679a0e7292132cab04fdd3c24062fcd66ce8 /packages/cli/src/ui/components/InputPrompt.tsx | |
| parent | aa65a4a1fc3f51589c7633217f9d3c8bd0141abb (diff) | |
feat: Fix flickering in iTerm + scrolling + performance issues.
- Refactors history display using Ink's <Static> component to prevent flickering and improve performance by rendering completed items statically.
- Introduces ConsolePatcher component to capture and display console.log, console.warn, and console.error output within the Ink UI, addressing native handling issues.
- Introduce a new content splitting mechanism to work better for static items. Basically when content gets too long we will now split content into multiple blocks for Gemini messages to ensure that we can statically cache larger pieces of history.
Fixes:
- https://b.corp.google.com/issues/411450097
- https://b.corp.google.com/issues/412716309
Diffstat (limited to 'packages/cli/src/ui/components/InputPrompt.tsx')
| -rw-r--r-- | packages/cli/src/ui/components/InputPrompt.tsx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/packages/cli/src/ui/components/InputPrompt.tsx b/packages/cli/src/ui/components/InputPrompt.tsx index b5c3cc7d..153b4701 100644 --- a/packages/cli/src/ui/components/InputPrompt.tsx +++ b/packages/cli/src/ui/components/InputPrompt.tsx @@ -14,7 +14,12 @@ interface InputPromptProps { } export const InputPrompt: React.FC<InputPromptProps> = ({ onSubmit }) => { - const [value, setValue] = React.useState(''); + const [value, setValue] = React.useState( + "I'd like to update my web fetch tool to be a little smarter about the content it fetches from web pages. Instead of returning the entire HTML to the LLM I was extract the body text and other important information to reduce the amount of tokens we need to use.", + ); + // const [value, setValue] = React.useState('Add "Hello World" to the top of README.md'); + // const [value, setValue] = React.useState('show me "Hello World" in as many langauges as you can think of'); + const { isFocused } = useFocus({ autoFocus: true }); useInput( |
