diff --git a/apps/web/core/components/comments/card/edit-form.tsx b/apps/web/core/components/comments/card/edit-form.tsx index 9be8b135521..654538223a4 100644 --- a/apps/web/core/components/comments/card/edit-form.tsx +++ b/apps/web/core/components/comments/card/edit-form.tsx @@ -77,6 +77,8 @@ export const CommentCardEditForm = observer(function CommentCardEditForm(props:
{ + // Prevent IME composition Enter from triggering submit + if (e.nativeEvent.isComposing || e.keyCode === 229) return; if (e.key === "Enter" && !e.shiftKey && !e.ctrlKey && !e.metaKey && !isEmpty) handleSubmit(onEnter)(e); }} > diff --git a/apps/web/core/components/comments/comment-create.tsx b/apps/web/core/components/comments/comment-create.tsx index d230a5be93e..057cd44d0d2 100644 --- a/apps/web/core/components/comments/comment-create.tsx +++ b/apps/web/core/components/comments/comment-create.tsx @@ -94,6 +94,8 @@ export const CommentCreate = observer(function CommentCreate(props: TCommentCrea
{ + // Prevent IME composition Enter from triggering submit + if (e.nativeEvent.isComposing || e.keyCode === 229) return; if ( e.key === "Enter" && !e.shiftKey && diff --git a/apps/web/core/components/core/modals/gpt-assistant-popover.tsx b/apps/web/core/components/core/modals/gpt-assistant-popover.tsx index 8b932742c4e..a15fed15543 100644 --- a/apps/web/core/components/core/modals/gpt-assistant-popover.tsx +++ b/apps/web/core/components/core/modals/gpt-assistant-popover.tsx @@ -153,6 +153,8 @@ export function GptAssistantPopover(props: Props) { useEffect(() => { const handleEnterKeyPress = (event: KeyboardEvent) => { + // Prevent IME composition Enter from triggering submit + if (event.isComposing || event.keyCode === 229) return; if (event.key === "Enter" && !event.shiftKey) { event.preventDefault(); handleSubmit(handleAIResponse)(); diff --git a/packages/editor/src/core/components/links/link-edit-view.tsx b/packages/editor/src/core/components/links/link-edit-view.tsx index 3adbefa27cd..54cb9b8ea4f 100644 --- a/packages/editor/src/core/components/links/link-edit-view.tsx +++ b/packages/editor/src/core/components/links/link-edit-view.tsx @@ -123,6 +123,8 @@ export function LinkEditView({ viewProps }: LinkEditViewProps) { const handleKeyDown = useCallback( (e: React.KeyboardEvent) => { + // Prevent IME composition Enter from triggering submit + if (e.nativeEvent.isComposing || e.keyCode === 229) return; if (e.key === "Enter") { e.stopPropagation(); if (applyChanges()) { diff --git a/packages/editor/src/core/components/menus/bubble-menu/link-selector.tsx b/packages/editor/src/core/components/menus/bubble-menu/link-selector.tsx index 0745059389d..64a2579bcca 100644 --- a/packages/editor/src/core/components/menus/bubble-menu/link-selector.tsx +++ b/packages/editor/src/core/components/menus/bubble-menu/link-selector.tsx @@ -84,6 +84,8 @@ export function BubbleMenuLinkSelector(props: Props) { defaultValue={editor.getAttributes("link").href || ""} onKeyDown={(e) => { setError(false); + // Prevent IME composition Enter from triggering submit + if (e.nativeEvent.isComposing || e.keyCode === 229) return; if (e.key === "Enter") { e.preventDefault(); handleLinkSubmit();