diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 4c3cbd5e8..8ccf04108 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -1900,6 +1900,7 @@ export default function Page() { const [openedComment, setOpenedComment] = createSignal(null) const [commenting, setCommenting] = createSignal(null) const [draft, setDraft] = createSignal("") + const [draftError, setDraftError] = createSignal(false) const [positions, setPositions] = createSignal>({}) const [draftTop, setDraftTop] = createSignal(undefined) @@ -2086,19 +2087,30 @@ export default function Page() { onClick={() => textarea?.focus()} onPopoverFocusOut={(e) => { const target = e.relatedTarget as Node | null - if (!target || !e.currentTarget.contains(target)) { - setCommenting(null) - } + if (target && e.currentTarget.contains(target)) return + // Delay to allow click handlers to fire first + setTimeout(() => { + if (!document.activeElement || !e.currentTarget.contains(document.activeElement)) { + setCommenting(null) + } + }, 0) }} >