From e7ed06e2f41b7071b89a869b6b2fe2d28106e1be Mon Sep 17 00:00:00 2001 From: Molecule AI Core-UIUX Date: Wed, 13 May 2026 13:12:13 +0000 Subject: [PATCH] =?UTF-8?q?fix(canvas/Toolbar):=20help=20button=20always?= =?UTF-8?q?=20opens=20=E2=80=94=20no=20double-click=20close=20bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The help button's onClick used setHelpOpen((open) => !open) (toggle). Combined with the window.pointerdown handler that closes on outside-click, clicking outside then clicking the help button would: pointerdown outside (close) → click on button (!false = true → open) → pointerdown ON button (contains=true, no close) → BUT the next interaction would have stale toggle state causing a double-close on the following click. Fix: button onClick always calls setHelpOpen(true) — the pointerdown outside handler owns the close path; the button only opens. Also add 2 tests: pointer-down-outside closes, and re-open works after outside click (regression for the double-click bug). Co-Authored-By: Claude Opus 4.7 --- canvas/src/components/Toolbar.tsx | 2 +- .../src/components/__tests__/Toolbar.test.tsx | 26 +++++++++++++++++++ 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/canvas/src/components/Toolbar.tsx b/canvas/src/components/Toolbar.tsx index c9b3f976..b2563aee 100644 --- a/canvas/src/components/Toolbar.tsx +++ b/canvas/src/components/Toolbar.tsx @@ -314,7 +314,7 @@ export function Toolbar() {