From 7c8ae2fe89b15c4d363f0bf0348068ca23da5eb2 Mon Sep 17 00:00:00 2001 From: Linus Rath <139418639+rathlinus@users.noreply.github.com> Date: Tue, 3 Nov 2026 12:29:11 +0100 Subject: [PATCH] fix: keep a hidden composer from taking files dropped on the window --- components/email/email-composer.tsx | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/components/email/email-composer.tsx b/components/email/email-composer.tsx index f0dab3ae6..be8263737 100644 --- a/components/email/email-composer.tsx +++ b/components/email/email-composer.tsx @@ -2650,12 +2650,6 @@ export function EmailComposer({ resetDragTimeout(); }, [resetDragTimeout]); - // The desktop app: files dropped or pasted anywhere on the window come here, if this one's on screen. - useEffect(() => setComposerFileTarget( - (files) => void addFiles(files), - () => !!composerRootEl?.isConnected && composerRootEl.getClientRects().length > 0, - ), [addFiles, composerRootEl]); - const handleDrop = useCallback((e: React.DragEvent) => { e.preventDefault(); e.stopPropagation(); @@ -2705,6 +2699,12 @@ export function EmailComposer({ const pluginToolbarOffers = usePluginSlotOffers('composer-toolbar'); // The plugin side panels fold when the composer gets too narrow for them. const [composerRootEl, setComposerRootEl] = useState(null); + + // The desktop app: files dropped or pasted anywhere on the window come here, if this one's on screen. + useEffect(() => setComposerFileTarget( + (files) => void addFiles(files), + () => !!composerRootEl?.isConnected && composerRootEl.getClientRects().length > 0, + ), [addFiles, composerRootEl]); // The id plugins know this composer by (registered below, with the handle). const [pluginComposerId, setPluginComposerId] = useState(null); const pluginSidebars = useComposerSidebars(composerRootEl, pluginComposerId);