Show full task names on hover in filter dropdown#3008
Show full task names on hover in filter dropdown#3008rupinajay wants to merge 3 commits intotriggerdotdev:mainfrom
Conversation
WalkthroughThe Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing touches
🧪 Generate unit tests (beta)
🧹 Recent nitpick comments
📜 Recent review detailsConfiguration used: Repository UI Review profile: CHILL Plan: Pro 📒 Files selected for processing (1)
🧰 Additional context used📓 Path-based instructions (6)**/*.{ts,tsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
{packages/core,apps/webapp}/**/*.{ts,tsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
**/*.{ts,tsx,js,jsx}📄 CodeRabbit inference engine (.github/copilot-instructions.md)
Files:
apps/webapp/app/**/*.{ts,tsx}📄 CodeRabbit inference engine (.cursor/rules/webapp.mdc)
Files:
apps/webapp/**/*.{ts,tsx}📄 CodeRabbit inference engine (.cursor/rules/webapp.mdc)
Files:
**/*.{js,ts,jsx,tsx,json,md,yaml,yml}📄 CodeRabbit inference engine (AGENTS.md)
Files:
🧠 Learnings (4)📓 Common learnings📚 Learning: 2025-11-27T16:27:35.304ZApplied to files:
📚 Learning: 2025-11-27T16:27:35.304ZApplied to files:
📚 Learning: 2026-01-15T11:50:06.067ZApplied to files:
✏️ Tip: You can disable this entire section by setting Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
| <TooltipProvider key={`${item.triggerSource}-${item.slug}`}> | ||
| <Tooltip> | ||
| <TooltipTrigger asChild> | ||
| <div className="w-full"> | ||
| <SelectItem | ||
| value={item.slug} | ||
| icon={ | ||
| <TaskTriggerSourceIcon | ||
| source={item.triggerSource} | ||
| className="size-4 flex-none" | ||
| /> | ||
| } | ||
| > | ||
| <MiddleTruncate text={item.slug} /> | ||
| </SelectItem> | ||
| </div> | ||
| </TooltipTrigger> | ||
| <TooltipContent side="right" sideOffset={8}> | ||
| <Paragraph variant="extra-small">{item.slug}</Paragraph> | ||
| </TooltipContent> | ||
| </Tooltip> | ||
| </TooltipProvider> |
There was a problem hiding this comment.
🚩 Tooltip wrapping pattern differs from existing status dropdown convention
The new code wraps SelectItem inside TooltipProvider > Tooltip > TooltipTrigger > div (lines 651-672), while the existing status dropdown at apps/webapp/app/components/runs/v3/RunFilters.tsx:557-568 places TooltipProvider > Tooltip > TooltipTrigger inside SelectItem as children.
The status dropdown pattern is arguably safer because SelectItem remains a direct DOM descendant of SelectList, with no intermediate non-Ariakit wrapper elements. In the new pattern, a <div className="w-full"> sits between SelectList and SelectItem. While this works because Ariakit uses querySelectorAll with role-based selectors (not direct-children checks), adopting the interior-tooltip pattern used by the status dropdown would be more consistent and avoid any risk of future Ariakit updates changing item discovery behavior.
Was this helpful? React with 👍 or 👎 to provide feedback.
Closes #2944
✅ Checklist
Testing
pnpm run dev --filter webapp)Changelog
Screenshots