do not render tooltips for sidebar menu items#2811
Conversation
🦋 Changeset detectedLatest commit: 464b1be The changes in this PR will be included in the next version bump. This PR includes changesets to release 10 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
1 Skipped Deployment
|
PR Review Complete
Result: ✅ Approved — Clean performance optimization that removes dead code (tooltip was never visible due to hover-expand behavior). One minor suggestion posted as inline comment. |
|
TL;DR — Removes tooltip rendering from sidebar menu items and simplifies the Key changes
Summary | 3 files | 5 commits | base:
The sidebar nav items always display their label inline — the tooltip was duplicating already-visible text. Removing
|
There was a problem hiding this comment.
Clean performance win — removing unused tooltip wrappers from sidebar items is a straightforward improvement. No issues found.
Co-authored-by: pullfrog[bot] <226033991+pullfrog[bot]@users.noreply.github.com>
There was a problem hiding this comment.
PR Review Summary
(0) Total Issues | Risk: Low
🔴❗ Critical (0) ❗🔴
None.
🟠⚠️ Major (0) 🟠⚠️
None.
🟡 Minor (0) 🟡
None.
💭 Consider (1) 💭
Inline Comments:
- 💭 Consider:
nav-item.tsx:21RedundantIcon &&check since icon prop is now required
✅ APPROVE
Summary: Clean performance optimization that removes dead code. The tooltip removal is valid since the sidebar auto-expands on hover (via handleHover in app-sidebar.tsx), making tooltips unreachable by design — the TooltipContent is explicitly hidden when state !== 'collapsed'. The removal of isExternal prop is also safe as it was never used by any caller. Making icon required is appropriate since all 21+ nav items in app-sidebar.tsx provide icons. Nice catch on eliminating unnecessary component renders! 🎉
Discarded (1)
| Location | Issue | Reason Discarded |
|---|---|---|
nav-item.tsx:12 |
Breaking interface change: icon now required |
Not a breaking change — verified all callers in app-sidebar.tsx provide icons. The component is internal-only, not exported for external consumption. |
Reviewers (2)
| Reviewer | Returned | Main Findings | Consider | While You're Here | Inline Comments | Pending Recs | Discarded |
|---|---|---|---|---|---|---|---|
pr-review-standards |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
pr-review-frontend |
2 | 0 | 0 | 0 | 1 | 0 | 1 |
| Total | 2 | 0 | 0 | 0 | 1 | 0 | 1 |
There was a problem hiding this comment.
PR Review Summary
(0) Total Issues | Risk: Low
🔴❗ Critical (0) ❗🔴
None.
🟠⚠️ Major (0) 🟠⚠️
None.
🟡 Minor (0) 🟡
None.
💭 Consider (0) 💭
None.
Re-Review Delta
| Previous Finding | Status |
|---|---|
💭 nav-item.tsx:21 — Redundant Icon && check since icon prop is now required |
✅ Addressed in eff23f11 |
✅ APPROVE
Summary: Clean performance optimization that removes dead code. The prior review's suggestion (removing the redundant Icon && guard) has been addressed. The tooltip removal is valid since the sidebar auto-expands on hover (via handleHover in app-sidebar.tsx), making tooltips unreachable by design — the TooltipContent is explicitly hidden when state !== 'collapsed'. Nice work eliminating 84 unnecessary component renders! 🎉
Reviewers (1)
| Reviewer | Returned | Main Findings | Consider | While You're Here | Inline Comments | Pending Recs | Discarded |
|---|---|---|---|---|---|---|---|
orchestrator |
1 | 0 | 0 | 0 | 0 | 0 | 0 |
| Total | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
Note: Re-review — prior finding addressed, no new findings.
|
@claude add a changeset based on changes in this PR |
|
Claude finished @dimaMachina's task in 1m 1s —— View job Adding Changeset
Added changeset |
Co-authored-by: Dimitri POSTOLOV <[email protected]> Co-Authored-By: Claude Opus 4.6 <[email protected]>
|
@dimaMachina This is amazing! I’ve been trying a lot of ways since morning to reduce the tooltip renders in the sidebar, but I couldn’t find a proper solution. I think the best approach is to remove them, since the sidebar expands on hover, so tooltips aren’t needed. Sometimes the best optimization is simply removing things. |
| target={isExternal ? '_blank' : undefined} | ||
| > | ||
| {Icon && <Icon />} | ||
| <span>{title}</span> |
There was a problem hiding this comment.
I think we may need to keep this span here, I noticed that without it, long titles (like API keys (Deprecated) ) do a weird wrapping thing on hover (https://www.loom.com/share/23e08edfb53f4f15b33dff99ba6997d8)
There was a problem hiding this comment.
PR Review Summary
(0) Total Issues | Risk: Low
🔴❗ Critical (0) ❗🔴
None.
🟠⚠️ Major (0) 🟠⚠️
None.
🟡 Minor (0) 🟡
None.
💭 Consider (0) 💭
None.
Re-Review Delta
| Previous Feedback | Status |
|---|---|
🟠 nav-item.tsx:28 — sarah-inkeep flagged that removing <span> causes layout issues with long titles |
✅ Addressed in 464b1be8 — restored <span> with explanatory comment |
📝 Changeset requested for @inkeep/agents-manage-ui |
✅ Addressed in 0301891f |
✅ APPROVE
Summary: All prior feedback has been addressed. The <span> wrapper is correctly restored with a helpful comment explaining the layout constraint, and the changeset is properly added. This PR is ready to ship — enjoy the 84 fewer component renders! 🚀
Reviewers (1)
| Reviewer | Returned | Main Findings | Consider | While You're Here | Inline Comments | Pending Recs | Discarded |
|---|---|---|---|---|---|---|---|
orchestrator |
0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Total | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
Note: Delta-scoped re-review — changes since last review are limited to addressing prior feedback (restoring <span> wrapper and adding changeset). No sub-reviewers dispatched for this minimal delta.
Ito Test Report ❌19 test cases ran. 2 failed, 17 passed. Overall, 19 sidebar/navigation test cases were executed with 17 passing and 2 failing, showing broad stability across org and project route transitions, nested deep-link active-state consistency, tooltip-free behavior in collapsed/expanded/mobile contexts, icon rendering without runtime errors, auth-proxy protection of unauthorized deep links, cross-tab project isolation, and clean Work Apps feature-flag toggling. The two confirmed pre-existing defects are a high-severity URL-safety issue where unsanitized tenant/project params can produce protocol-relative cross-origin sidebar links, and a medium-severity hover-collapse race where a throttled enter/leave handler can drop the final mouseleave and leave the project sidebar incorrectly expanded. ❌ Failed (2)
|
We previously had tooltips for sidebar items in
collapsedmodeBut in current design sidebar is expanded on hover and tooltip are never shown
This improve react-scan performance to eliminate 84
TooltipandTooltipTriggercomponent renderbefore
after