From 80447e87af6a9798a7fbc5f26a75c94e575f0448 Mon Sep 17 00:00:00 2001 From: waleed Date: Tue, 6 Jan 2026 19:32:11 -0800 Subject: [PATCH] fix(canvas): add handler for focus loss for hotkey operations --- .../[workspaceId]/w/[workflowId]/workflow.tsx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx index 853cd544ff..ecec650641 100644 --- a/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx +++ b/apps/sim/app/workspace/[workspaceId]/w/[workflowId]/workflow.tsx @@ -1947,11 +1947,26 @@ const WorkflowContent = React.memo(() => { const handleKeyUp = (e: KeyboardEvent) => { if (e.key === 'Shift') setIsShiftPressed(false) } + const handleFocusLoss = () => { + setIsShiftPressed(false) + setIsSelectionDragActive(false) + } + const handleVisibilityChange = () => { + if (document.hidden) { + handleFocusLoss() + } + } + window.addEventListener('keydown', handleKeyDown) window.addEventListener('keyup', handleKeyUp) + window.addEventListener('blur', handleFocusLoss) + document.addEventListener('visibilitychange', handleVisibilityChange) + return () => { window.removeEventListener('keydown', handleKeyDown) window.removeEventListener('keyup', handleKeyUp) + window.removeEventListener('blur', handleFocusLoss) + document.removeEventListener('visibilitychange', handleVisibilityChange) } }, [])