pingdotgg / pingdotgg/t3code

[Bug]: Chat tooltips remain visible over the composer while scrolling

Open
#7,767 0 comments 0 reactions 0 assignees View on GitHub

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

  1. Open a chat with enough messages to make the timeline scrollable.
  2. Hover a Markdown link or another tooltip trigger inside a message until its tooltip opens.
  3. Scroll the chat timeline with the wheel or trackpad without moving the pointer.
  4. 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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.