From b5c7eeac5a40ea8d7c9a422909fdc821e570f4b2 Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 23 May 2026 14:14:59 +0800 Subject: [PATCH] fix: avoid intercepting local edit typing events --- components/canvas/nodes/ImageNode.tsx | 26 +++----------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/components/canvas/nodes/ImageNode.tsx b/components/canvas/nodes/ImageNode.tsx index 677acef17..5f065decc 100644 --- a/components/canvas/nodes/ImageNode.tsx +++ b/components/canvas/nodes/ImageNode.tsx @@ -287,11 +287,6 @@ const LOCAL_EDIT_COLORS = [ const isLocalEditControlTarget = (target: EventTarget | null) => target instanceof HTMLElement && Boolean(target.closest('[data-local-edit-control="true"]')); -const stopLocalEditPromptTextEvent = ( - event: React.SyntheticEvent -) => { - event.stopPropagation(); -}; const FLOATING_TOOLBAR_SCALE = 0.8; const IMAGE_EDIT_PANEL_SCALE = 0.5; const ANGLE_PANEL_SCALE = 0.65; @@ -8057,7 +8052,6 @@ export function ImageNode({ event.stopPropagation(); }} onCompositionEnd={(event) => { - stopLocalEditPromptTextEvent(event); localEditPromptComposingRefs.current[region.id] = false; updateLocalEditPromptDraft( @@ -8065,36 +8059,23 @@ export function ImageNode({ event.currentTarget.value ); }} - onCompositionStart={(event) => { - stopLocalEditPromptTextEvent(event); + onCompositionStart={() => { localEditPromptComposingRefs.current[region.id] = true; }} - onCompositionUpdate={(event) => { - stopLocalEditPromptTextEvent(event); - }} onFocus={(event) => { event.stopPropagation(); setEditingLocalEditRegionId((current) => current === region.id ? current : region.id ); }} - onInput={(event) => { - stopLocalEditPromptTextEvent(event); - updateLocalEditPromptDraft( - region.id, - event.currentTarget.value - ); - }} onChange={(event) => { - stopLocalEditPromptTextEvent(event); updateLocalEditPromptDraft( region.id, event.currentTarget.value ); }} onKeyDown={(event) => { - stopLocalEditPromptTextEvent(event); const isComposing = event.nativeEvent.isComposing || event.key === "Process" || @@ -8107,6 +8088,7 @@ export function ImageNode({ (event.metaKey || event.ctrlKey) ) { event.preventDefault(); + event.stopPropagation(); persistLocalEditRegionPrompt( region.id, event.currentTarget.value @@ -8115,6 +8097,7 @@ export function ImageNode({ } if (event.key === "Escape") { event.preventDefault(); + event.stopPropagation(); persistLocalEditRegionPrompt( region.id, event.currentTarget.value @@ -8122,9 +8105,6 @@ export function ImageNode({ setEditingLocalEditRegionId(null); } }} - onKeyUp={(event) => { - stopLocalEditPromptTextEvent(event); - }} onMouseDown={(event) => { event.stopPropagation(); }}