2 months ago
1eb3850Tab titles clip when the bar is crowded, so hovering one now reveals the full name. The bar shares a single popup rather than one per tab, so moving between tabs slides the label across instead of remounting — the same treatment as the sidebar rail, at the same 13px/500. Its own handle because the rails' popup opens to the right and this one belongs below. Titles that fit get no tooltip. RailTooltip takes a handle and side so any surface with several triggers can opt into the shared popup, rather than the behaviour being rail-specific. Also fixes a latent bug in TruncatedText. It measured overflow in an effect keyed on `children`, so its ResizeObserver attached once and kept watching a node that gets swapped — by the tooltip trigger taking the span over, or by a parent replacing it without this component remounting. The observer then never saw the clip and no tooltip appeared. A callback ref re-attaches whenever the node changes. This affected the existing profile-page usage too, not just tabs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Parent626a5b6