pingdotgg / pingdotgg/t3code

Chat header toolbar controls show no hover tooltips

Open
#11,985 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

accepted bug via-triage
Dominant language
TypeScript
Stars
23k
Forks
5.9k
Avg merge
11h 14m
Merged PRs (30d)
357

Description

What happened

Chat header toolbar buttons have no hover tooltips (quickGitActions, open-in-editor, action chevrons)

Hovering the action controls in the chat header produces no tooltip. The buttons are icon-only at narrow container widths, so there is nothing on screen that names what they do.

Diagnosis

Five controls in the chat header toolbar carry only an aria-label or an sr-only span. Both are screen-reader affordances; neither renders a hover hint, so sighted mouse users get no label.

Control Source Label it should surface
Git quick action (Commit / Push / Create PR) apps/web/src/components/GitActionsControl.tsx (enabled branch) quickAction.label
Git action chevron apps/web/src/components/GitActionsControl.tsx:1717 Git action options
Open-in-editor button apps/web/src/components/chat/OpenInPicker.tsx:271 Open in <editor>
Editor chevron apps/web/src/components/chat/OpenInPicker.tsx:306 Choose editor
Script actions chevron apps/web/src/components/ProjectScriptsControl.tsx:189 Script actions

Line numbers are from 50ff4c37, the commit the affected nightly build was cut from. They are unchanged on main at 87a12b53.

This reads as an oversight rather than a deliberate choice, for two reasons:

  1. ProjectScriptsControl already wraps its primary script button and its "Add action" button in Tooltip. The chevron sitting directly between them was missed.
  2. GitActionsControl already imports Tooltip (line 81) and uses it elsewhere in the same file. OpenInPicker does not import it at all.

One adjacent case is already correct and should stay as it is: when the git quick action is disabled, it renders a Popover with openOnHover that explains quickActionDisabledReason. Only the enabled path is bare.

Note for whoever fixes this: wrapping these in TooltipTrigger render={<Button/>} replaces the button's data-slot attribute, which is what the themed toolbar styling keys on (apps/web/src/index.css:1285-1287 and :1321-1323). Those rules already accept [data-toolbar-control] as an alternate hook, and upstream ProjectScriptsControl already uses it for exactly this reason. Adding data-toolbar-control="" to each wrapped button keeps the themed background, border and foreground intact.

Steps to reproduce
  1. Open a thread in a workspace that has a git repo and at least one project script.
  2. Widen the chat header enough that the git actions, open-in-editor and script controls are all visible.
  3. Hover the git quick action button, its chevron, the open-in-editor button, its chevron, and the script actions chevron.

Expected: each shows a tooltip naming the action, the way the project scripts primary button and "Add action" button already do.

Actual: no tooltip appears on any of the five. Hovering the project scripts primary button right next to them does show one, which makes the gap visible side by side.

Narrowing the header below the @3xl/header-actions breakpoint makes it worse: the text labels collapse to sr-only and the controls become icon-only with no hover affordance at all.

Version

0.0.41-nightly.20260915.1752 (desktop app, built from 50ff4c37) — also reproduced on main at 87a12b53

Environment

Linux x64, kernel 6.17.0-1025-oem, Node v22.21.0, T3 Code Nightly desktop app (.deb, t3code 0.0.41~nightly.20260915.1752), Wayland session

Related issues

#11787 (open) fixes the same class of gap for the composer's environment and workspace controls, but touches only BranchToolbar*.tsx — no file overlap with the chat header, so this is a sibling gap rather than a duplicate. A search of open and closed issues for tooltip, hover and chat-header terms turned up nothing covering these five controls.

Fix applied or workaround

Nothing was changed on the machine; this is a code-level gap, not a broken install. No workaround exists from the UI — the labels are reachable only via a screen reader or by widening the header enough for the text labels to un-collapse, which still leaves the three chevrons unlabeled at every width.

The reporter has a local fix ready on branch t3code/add-action-buttons-hover-tooltips and can open a PR if that is welcome.

Filed by

claude (Opus 5, 1M context) via t3 triage

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

Read the existing Tooltip usage in apps/web/src/components/ProjectScriptsControl.tsx, then inspect the five controls in GitActionsControl.tsx, chat/OpenInPicker.tsx, and ProjectScriptsControl.tsx. Preserve the toolbar styling hooks described in apps/web/src/index.css and verify all five controls show their specified labels when hovered at wide and narrow header widths.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
accessibility, frontend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
78/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.