From 37351f66a9f3bf7b8a518524f9c11179f5ac9ebd Mon Sep 17 00:00:00 2001 From: Br1an67 <932039080@qq.com> Date: Mon, 2 Mar 2026 01:40:27 +0800 Subject: [PATCH 1/2] feat: add Enter key to confirm message editing Add onKeyDown handler to the edit textarea so Enter submits the edit (matching new message behavior) while Shift+Enter still creates a newline. --- .../src/components/chat/Messages/Message/UserMessage.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/frontend/src/components/chat/Messages/Message/UserMessage.tsx b/frontend/src/components/chat/Messages/Message/UserMessage.tsx index 66eceea36d..f09d57b2bb 100644 --- a/frontend/src/components/chat/Messages/Message/UserMessage.tsx +++ b/frontend/src/components/chat/Messages/Message/UserMessage.tsx @@ -110,6 +110,12 @@ const UserMessage = memo(function UserMessage({ autoFocus value={editValue} onChange={(e) => setEditValue(e.target.value)} + onKeyDown={(e) => { + if (e.key === 'Enter' && !e.shiftKey) { + e.preventDefault(); + handleEdit(); + } + }} className="mt-1 bg-transparent placeholder:text-base placeholder:font-medium text-base" maxHeight={250} /> From b43c5e5b19d1d57b3e4bf3c5ed184a828e796482 Mon Sep 17 00:00:00 2001 From: Br1an67 <932039080@qq.com> Date: Mon, 2 Mar 2026 15:55:40 +0800 Subject: [PATCH 2/2] fix: add IME composition and disabled state guards to Enter key handler - Guard against IME composition with e.nativeEvent.isComposing to prevent premature submission during CJK input - Check disabled state (loading/askUser) to match the Confirm button behavior --- .../src/components/chat/Messages/Message/UserMessage.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/frontend/src/components/chat/Messages/Message/UserMessage.tsx b/frontend/src/components/chat/Messages/Message/UserMessage.tsx index f09d57b2bb..bb61ad1fd2 100644 --- a/frontend/src/components/chat/Messages/Message/UserMessage.tsx +++ b/frontend/src/components/chat/Messages/Message/UserMessage.tsx @@ -111,7 +111,12 @@ const UserMessage = memo(function UserMessage({ value={editValue} onChange={(e) => setEditValue(e.target.value)} onKeyDown={(e) => { - if (e.key === 'Enter' && !e.shiftKey) { + if ( + e.key === 'Enter' && + !e.shiftKey && + !e.nativeEvent.isComposing && + !disabled + ) { e.preventDefault(); handleEdit(); }