diff --git a/packages/go/components/chat/chat-input.tsx b/packages/go/components/chat/chat-input.tsx index 42727361..c7731b1e 100644 --- a/packages/go/components/chat/chat-input.tsx +++ b/packages/go/components/chat/chat-input.tsx @@ -135,6 +135,9 @@ export function ChatInput({ onSend, disabled, className, agents = [], draft, onD }; const handleKeyDown = (e: React.KeyboardEvent) => { + // Ignore Enter during IME composition (Chinese, Japanese, Korean input) + if (e.nativeEvent.isComposing || e.key === 'Process') return; + if (showMentions && filteredAgents.length > 0) { if (e.key === 'ArrowDown') { e.preventDefault(); diff --git a/sdk/studio/src/pages/messaging/components/MessageInput.tsx b/sdk/studio/src/pages/messaging/components/MessageInput.tsx index 04e1b6d1..4847271e 100644 --- a/sdk/studio/src/pages/messaging/components/MessageInput.tsx +++ b/sdk/studio/src/pages/messaging/components/MessageInput.tsx @@ -715,6 +715,9 @@ const MessageInput: React.FC = ({ } const handleKeyDown = (e: React.KeyboardEvent) => { + // Ignore Enter during IME composition (Chinese, Japanese, Korean input) + if (e.nativeEvent.isComposing || e.key === 'Process') return; + // Handle mention navigation if (showMentions && filteredAgents.length > 0) { if (e.key === "ArrowDown") { diff --git a/workspace/frontend/components/chat/chat-input.tsx b/workspace/frontend/components/chat/chat-input.tsx index 42727361..c7731b1e 100644 --- a/workspace/frontend/components/chat/chat-input.tsx +++ b/workspace/frontend/components/chat/chat-input.tsx @@ -135,6 +135,9 @@ export function ChatInput({ onSend, disabled, className, agents = [], draft, onD }; const handleKeyDown = (e: React.KeyboardEvent) => { + // Ignore Enter during IME composition (Chinese, Japanese, Korean input) + if (e.nativeEvent.isComposing || e.key === 'Process') return; + if (showMentions && filteredAgents.length > 0) { if (e.key === 'ArrowDown') { e.preventDefault();