You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Bug]: Nightly update flyout sometimes stays visible but click-through #16594
I searched existing issues and did not find a duplicate.
I included enough detail to reproduce or investigate the problem.
Area
apps/desktop
Steps to reproduce
On the desktop app (nightly), let an update download.
Hover the sidebar update button to open the release-notes flyout.
Sometimes the flyout stays on screen and stops taking pointer input. It's intermittent and I couldn't reproduce it on demand.
Expected behavior
The flyout closes when the pointer leaves it, and while it's open its links (such as "66 more changes on GitHub") can be clicked.
Actual behavior
The flyout stays on screen but doesn't take pointer input:
Sidebar rows underneath can be hovered and clicked through it. A thread hover card opened while the flyout was still showing.
The "66 more changes on GitHub" link inside the flyout can't be clicked.
It hasn't happened again since, and it didn't reproduce in the web build. The interactive popover came from #7876.
Possible cause:PopoverPopup (apps/web/src/components/ui/popover.tsx) has a starting style but no ending style. Once it closes, it stops taking pointer input but stays fully opaque until Base UI unmounts it. If that unmount stalls in Electron, you'd see exactly this. A likely fix is adding data-ending-style:opacity-0.
Impact
Minor bug or occasional failure
Version or commit
Desktop nightly, with 0.0.46-nightly.20261006.2735 downloaded
The popup shell has data-starting-style:opacity-0 / data-starting-style:scale-98, but nodata-ending-style:opacity-0 (or ending scale).
By contrast, preview-card.tsx already sets both data-ending-style:opacity-0 and data-starting-style:opacity-0.
Viewport child transitions do use ending styles for content swaps, but that does not fade the popup itself on close.
So once Base UI marks the popover closed (pointer events stop), the shell can stay fully opaque until unmount. If that unmount stalls in Electron, you get exactly the stuck-visible, click-through flyout (sidebar hover cards showing through it, links inside dead). Intermittent + desktop-only fits that race.
Not fixed by: closed #7876 / #7880 (origin of the interactive notes popover), merged #9138 / #15501.
Fix direction: add ending styles on PopoverPopup to match preview-card (at least data-ending-style:opacity-0, and likely ending scale). Worth a quick pass over other Base UI overlays that already have ending styles for consistency. Hard to force-reproduce; a visual/close-transition check on desktop after the CSS change is enough.
Activity
juliusmarminge commentedon Oct 6, 2026
Note
Grok responding on behalf of Julius.
Confirmed on current
main: the nightly update release-notes flyout uses the sharedPopoverPopup, and that popup fades in but has no matching fade-out.What matches the report
SidebarUpdatePillopens release notes withopenOnHover+closeDelay={150}and rendersPopoverPopup(tooltipStyle).data-starting-style:opacity-0/data-starting-style:scale-98, but nodata-ending-style:opacity-0(or ending scale).preview-card.tsxalready sets bothdata-ending-style:opacity-0anddata-starting-style:opacity-0.So once Base UI marks the popover closed (pointer events stop), the shell can stay fully opaque until unmount. If that unmount stalls in Electron, you get exactly the stuck-visible, click-through flyout (sidebar hover cards showing through it, links inside dead). Intermittent + desktop-only fits that race.
Not fixed by: closed #7876 / #7880 (origin of the interactive notes popover), merged #9138 / #15501.
Fix direction: add ending styles on
PopoverPopupto matchpreview-card(at leastdata-ending-style:opacity-0, and likely ending scale). Worth a quick pass over other Base UI overlays that already have ending styles for consistency. Hard to force-reproduce; a visual/close-transition check on desktop after the CSS change is enough.Labeling
bug+via-triage(droppingneeds-triage).