From 33c082cd5bee9e1728db2cb472ba86d0f4994432 Mon Sep 17 00:00:00 2001 From: Zane <75694352+zanesq@users.noreply.github.com> Date: Wed, 16 Jul 2025 19:06:56 -0700 Subject: [PATCH] Fix a few ui edge cases - refresh occasionally crashing, chat loader over text and chat input height returning to auto (#3469) --- ui/desktop/openapi.json | 2 +- ui/desktop/src/components/BaseChat.tsx | 3 -- ui/desktop/src/components/ChatInput.tsx | 9 +++-- ui/desktop/src/components/pair.tsx | 2 +- .../components/sessions/SessionsInsights.tsx | 31 ++++++++++++++-- ui/desktop/src/main.ts | 36 +++++++++++++++++-- ui/desktop/src/preload.ts | 15 +++++++- 7 files changed, 85 insertions(+), 13 deletions(-) diff --git a/ui/desktop/openapi.json b/ui/desktop/openapi.json index 329ce854..98be026b 100644 --- a/ui/desktop/openapi.json +++ b/ui/desktop/openapi.json @@ -10,7 +10,7 @@ "license": { "name": "Apache-2.0" }, - "version": "1.0.36" + "version": "1.1.0" }, "paths": { "/agent/tools": { diff --git a/ui/desktop/src/components/BaseChat.tsx b/ui/desktop/src/components/BaseChat.tsx index 50ad42f5..f26ab7c0 100644 --- a/ui/desktop/src/components/BaseChat.tsx +++ b/ui/desktop/src/components/BaseChat.tsx @@ -446,9 +446,6 @@ function BaseChatContent({ {/* Custom content after messages */} {renderAfterMessages && renderAfterMessages()} - - {/* Bottom padding to make space for the loading indicator */} -
{/* Fixed loading indicator at bottom left of chat container */} diff --git a/ui/desktop/src/components/ChatInput.tsx b/ui/desktop/src/components/ChatInput.tsx index a7f2aecc..7467dfe3 100644 --- a/ui/desktop/src/components/ChatInput.tsx +++ b/ui/desktop/src/components/ChatInput.tsx @@ -427,7 +427,6 @@ export default function ChatInput({ // eslint-disable-next-line react-hooks/exhaustive-deps }, [numTokens, toolCount, tokenLimit, isTokenLimitLoaded, addAlert, clearAlerts]); - const minHeight = '1rem'; const maxHeight = 10 * 24; // Debounced function to update actual value @@ -456,6 +455,13 @@ export default function ChatInput({ } }, [debouncedAutosize, displayValue]); + // Reset textarea height when displayValue is empty + useEffect(() => { + if (textAreaRef.current && displayValue === '') { + textAreaRef.current.style.height = 'auto'; + } + }, [displayValue]); + const handleChange = (evt: React.ChangeEvent