Fix press enter while composing will cause send unfinished message (#2266)
authorGary Wang <git@blumia.net>
Thu, 20 Mar 2025 09:38:08 +0000 (17:38 +0800)
committerGitHub <noreply@github.com>
Thu, 20 Mar 2025 09:38:08 +0000 (20:38 +1100)
src/app/features/room/RoomInput.tsx
src/app/features/room/message/MessageEditor.tsx

index 7de12253d696de7c6d3f134e0b2bf82c74f133ed..4d6ce04c96f4696dae97ccd8fe6a9203130bd234 100644 (file)
@@ -348,7 +348,7 @@ export const RoomInput = forwardRef<HTMLDivElement, RoomInputProps>(
 
     const handleKeyDown: KeyboardEventHandler = useCallback(
       (evt) => {
-        if (isKeyHotkey('mod+enter', evt) || (!enterForNewline && isKeyHotkey('enter', evt))) {
+        if ((isKeyHotkey('mod+enter', evt) || (!enterForNewline && isKeyHotkey('enter', evt))) && !evt.nativeEvent.isComposing) {
           evt.preventDefault();
           submit();
         }
index ac97e2aa7d751ef827254047a57e213db4c7e5ee..29a4b83713ffd29057ed3f3d38004db2bb1199a5 100644 (file)
@@ -163,7 +163,7 @@ export const MessageEditor = as<'div', MessageEditorProps>(
 
     const handleKeyDown: KeyboardEventHandler = useCallback(
       (evt) => {
-        if (isKeyHotkey('mod+enter', evt) || (!enterForNewline && isKeyHotkey('enter', evt))) {
+        if ((isKeyHotkey('mod+enter', evt) || (!enterForNewline && isKeyHotkey('enter', evt))) && !evt.nativeEvent.isComposing) {
           evt.preventDefault();
           handleSave();
         }