From 43c47729f4f078416471171af8d5f4732c6fcf1c Mon Sep 17 00:00:00 2001 From: sawka Date: Thu, 9 Oct 2025 17:11:40 -0700 Subject: [PATCH 1/2] fix ai messages scrolling --- frontend/app/aipanel/aipanel.tsx | 4 +--- frontend/app/aipanel/aipanelmessages.tsx | 5 +++-- frontend/app/element/streamdown.tsx | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/frontend/app/aipanel/aipanel.tsx b/frontend/app/aipanel/aipanel.tsx index 146f0c72f6..10edac60a4 100644 --- a/frontend/app/aipanel/aipanel.tsx +++ b/frontend/app/aipanel/aipanel.tsx @@ -528,9 +528,7 @@ const AIPanelComponentInner = memo(({ className, onClose }: AIPanelProps) => { ) : ( -
- -
+ )} {errorMessage && ( model.clearError()} /> diff --git a/frontend/app/aipanel/aipanelmessages.tsx b/frontend/app/aipanel/aipanelmessages.tsx index b3a0fb3bae..1a80c55061 100644 --- a/frontend/app/aipanel/aipanelmessages.tsx +++ b/frontend/app/aipanel/aipanelmessages.tsx @@ -10,9 +10,10 @@ import { WaveAIModel } from "./waveai-model"; interface AIPanelMessagesProps { messages: any[]; status: string; + onContextMenu?: (e: React.MouseEvent) => void; } -export const AIPanelMessages = memo(({ messages, status }: AIPanelMessagesProps) => { +export const AIPanelMessages = memo(({ messages, status, onContextMenu }: AIPanelMessagesProps) => { const model = WaveAIModel.getInstance(); const isPanelOpen = useAtomValue(WorkspaceLayoutModel.getInstance().panelVisibleAtom); const messagesEndRef = useRef(null); @@ -41,7 +42,7 @@ export const AIPanelMessages = memo(({ messages, status }: AIPanelMessagesProps) }, [isPanelOpen]); return ( -
+
{messages.map((message, index) => { const isLastMessage = index === messages.length - 1; const isStreaming = status === "streaming" && isLastMessage && message.role === "assistant"; diff --git a/frontend/app/element/streamdown.tsx b/frontend/app/element/streamdown.tsx index ba848ee904..3eadb271b5 100644 --- a/frontend/app/element/streamdown.tsx +++ b/frontend/app/element/streamdown.tsx @@ -152,7 +152,7 @@ const CodeBlock = ({ children, onClickExecute, codeBlockMaxWidthAtom }: CodeBloc return (
{language} From d390e704c4f737464ebee8e280cf23f6fe035617 Mon Sep 17 00:00:00 2001 From: sawka Date: Thu, 9 Oct 2025 17:19:16 -0700 Subject: [PATCH 2/2] use success/error colors --- frontend/app/aipanel/aimessage.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/frontend/app/aipanel/aimessage.tsx b/frontend/app/aipanel/aimessage.tsx index 7ca8c9b091..1a11805d28 100644 --- a/frontend/app/aipanel/aimessage.tsx +++ b/frontend/app/aipanel/aimessage.tsx @@ -79,11 +79,7 @@ const AIToolUse = memo(({ part }: AIToolUseProps) => { const statusIcon = toolData.status === "completed" ? "✓" : toolData.status === "error" ? "✗" : "•"; const statusColor = - toolData.status === "completed" - ? "text-green-400" - : toolData.status === "error" - ? "text-red-400" - : "text-gray-400"; + toolData.status === "completed" ? "text-success" : toolData.status === "error" ? "text-error" : "text-gray-400"; const effectiveApproval = userApprovalOverride || toolData.approval;