From 695daa60e1b64a51df46188896722c3fb85c01e3 Mon Sep 17 00:00:00 2001 From: 7418 <7418@openclaw.ai> Date: Thu, 12 Feb 2026 01:29:13 +0800 Subject: [PATCH] fix: allow typing in input while AI is streaming, only block sending Co-Authored-By: Claude Opus 4.6 --- src/components/chat/MessageInput.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/chat/MessageInput.tsx b/src/components/chat/MessageInput.tsx index 7b17ca3..74524be 100644 --- a/src/components/chat/MessageInput.tsx +++ b/src/components/chat/MessageInput.tsx @@ -566,7 +566,7 @@ export function MessageInput({ }; // If badge is active, expand the command/skill and send - if (badge) { + if (badge && !isStreaming) { let expandedPrompt = ''; if (badge.isSkill) { @@ -604,7 +604,7 @@ export function MessageInput({ const files = await convertFiles(); const hasFiles = files.length > 0; - if ((!content && !hasFiles) || disabled) return; + if ((!content && !hasFiles) || disabled || isStreaming) return; // Check if it's a direct slash command typed in the input if (content.startsWith('/') && !hasFiles) { @@ -642,7 +642,7 @@ export function MessageInput({ onSend(content || 'Please review the attached file(s).', hasFiles ? files : undefined); setInputValue(''); - }, [inputValue, onSend, onCommand, disabled, closePopover, badge]); + }, [inputValue, onSend, onCommand, disabled, isStreaming, closePopover, badge]); const handleKeyDown = useCallback( (e: KeyboardEvent) => { @@ -904,7 +904,7 @@ export function MessageInput({ value={inputValue} onChange={(e) => handleInputChange(e.currentTarget.value)} onKeyDown={handleKeyDown} - disabled={disabled || isStreaming} + disabled={disabled} className="min-h-10" />