[Bug]: Chat tooltips remain visible over the composer while scrolling
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 23k
- Forks
- 5.9k
- Avg merge
- 11h 14m
- Merged PRs (30d)
- 357
Description
Before submitting
- I searched existing issues and open pull requests and did not find a duplicate.
- This report includes deterministic reproduction steps.
Area
apps/web
Steps to reproduce
- Open a chat with enough messages to make the timeline scrollable.
- Hover a Markdown link or another tooltip trigger inside a message until its tooltip opens.
- Scroll the chat timeline with the wheel or trackpad without moving the pointer.
- Continue scrolling until the original trigger moves away from the pointer and toward the composer.
Expected behavior
A tooltip opened by hover should close as soon as the chat timeline scrolls. A tooltip opened through keyboard focus should remain available for keyboard users. Timeline tooltips should not paint over the composer as a fallback.
Actual behavior
The hovered tooltip can remain open after its trigger has moved away from the stationary pointer. Because the tooltip is rendered in a portal above the chat surface, it can overlap the composer, text field, and controls.
Impact
Minor bug or occasional failure. It obscures interactive composer controls and leaves UI attached to content that is no longer under the pointer.
Version or commit
main @ 8f7da3b99
Workaround
Moving the pointer away from the stale hover area dismisses the tooltip.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start in apps/web by tracing the chat timeline's tooltip behavior and how tooltip portals interact with the composer. Reproduce the issue by hovering a link, scrolling without moving the pointer, and checking whether keyboard-focused tooltips remain available. Done means hover tooltips close when the timeline scrolls and no stale tooltip overlaps the composer.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100