From ca605174cf7dfae52c56826cf7951700f6143ef4 Mon Sep 17 00:00:00 2001 From: Brooklyn Nicholson Date: Mon, 27 Jul 2026 19:31:55 -0500 Subject: [PATCH] fix(desktop): zero Tip skipDelayDuration so every tip waits its delay --- apps/desktop/src/components/ui/tooltip.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/apps/desktop/src/components/ui/tooltip.tsx b/apps/desktop/src/components/ui/tooltip.tsx index c482cefdc1c..68e69d2aff7 100644 --- a/apps/desktop/src/components/ui/tooltip.tsx +++ b/apps/desktop/src/components/ui/tooltip.tsx @@ -16,6 +16,11 @@ const HasTooltipProvider = React.createContext(false) function TooltipProvider({ delayDuration = 0, + // Radix's "skip" grace: after one tip opens, every trigger touched within + // this window opens INSTANTLY, delay bypassed. Its 300ms default meant a + // cursor sweeping the chrome still flashed a trail of tips despite the + // hover delay. Zero it so each tip independently honors `delayDuration`. + skipDelayDuration = 0, // Tips are labels, not interactive surfaces. Hoverable content + Radix's // pointer-grace bridge is what leaves tips stuck open — especially over // Electron `-webkit-app-region: drag` chrome where pointermove never fires @@ -28,6 +33,7 @@ function TooltipProvider({ data-slot="tooltip-provider" delayDuration={delayDuration} disableHoverableContent={disableHoverableContent} + skipDelayDuration={skipDelayDuration} {...props} /> )