From edd13e26f7f459ee5b08298ae1cd8dd0a2c2f3dc Mon Sep 17 00:00:00 2001 From: Mary Kate Fain Date: Mon, 23 Feb 2026 12:07:53 -0600 Subject: [PATCH] Fix emoji picker closing when expanding to full picker The popover's mouse-leave timeout was firing during the DOM transition from the quick-select bar to the full emoji-mart picker, causing it to close immediately. Added an expanded state flag that disables the hover-to-close behavior when the full picker is shown. --- src/components/QuickReactMenu.tsx | 8 +++++++- src/components/ReactionButton.tsx | 8 ++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/components/QuickReactMenu.tsx b/src/components/QuickReactMenu.tsx index 974262ff..3f34d2ce 100644 --- a/src/components/QuickReactMenu.tsx +++ b/src/components/QuickReactMenu.tsx @@ -19,6 +19,8 @@ interface QuickReactMenuProps { eventKind: number; /** Called after an emoji is selected so the parent can close the popover. */ onClose?: () => void; + /** Called when the full picker is opened/closed so the parent can lock the popover open. */ + onExpandChange?: (expanded: boolean) => void; /** Optional extra class names. */ className?: string; } @@ -28,6 +30,7 @@ export function QuickReactMenu({ eventPubkey, eventKind, onClose, + onExpandChange, className, }: QuickReactMenuProps) { const { user } = useCurrentUser(); @@ -145,7 +148,10 @@ export function QuickReactMenu({ {/* More button to show full picker */}