Skip to content

Sidebar tooltip overlaps and blocks hover on the item below #1144

Description

@maartenpeels

Bug

Hovering a sidebar item (Chat, Lanes, Files, PRs, CTO, Graph, History, Automations, Settings, Chats) in the left nav shows a tooltip that renders below the hovered item, landing directly on top of the next item in the list. Because most of these tooltips include a docUrl ("Learn more" link), the tooltip's pointerEvents is set to "auto", so it actually intercepts the mouse — you can't hover/click the next sidebar item until the tooltip dismisses itself.

This makes quickly scanning down the sidebar very frustrating: each item pauses on you until its tooltip decides to go away.

Root cause

  • apps/desktop/src/renderer/components/app/TabNav.tsx wraps every vertical sidebar item in <SmartTooltip side="bottom"> (e.g. lines ~190, ~221, ~338).
  • apps/desktop/src/renderer/components/ui/SmartTooltip.tsx:
    • positions a side="bottom" tooltip at trigger.bottom + GAP (line ~92) — i.e. directly over the next row in a vertical list.
    • sets pointerEvents: content.docUrl ? "auto" : "none" (line ~207). Since TAB_TOOLTIP_BY_PATH sets a docUrl for nearly every tab, these tooltips are pointer-event-capturing, not just visual.

The combination (side="bottom" position + pointerEvents: auto from docUrl) is what turns a cosmetic overlap into an actual hover-blocking bug.

Suggested fix

For a vertical icon-rail sidebar, tooltips should render to the side (right of the icon), not above/below — matching the pattern already used correctly for session hover cards (SessionHoverCard.tsx, anchored at rect.right + gap). Add a side="right" option to SmartTooltip and switch TabNav.tsx's sidebar tooltips to use it, instead of tweaking pointerEvents as a band-aid.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions