Skip to content

feat(desktop): hover tooltips on status bar items - #41967

Closed
marsmensch wants to merge 1 commit into
NousResearch:mainfrom
marsmensch:feat/desktop-status-bar-hover-tooltips
Closed

feat(desktop): hover tooltips on status bar items#41967
marsmensch wants to merge 1 commit into
NousResearch:mainfrom
marsmensch:feat/desktop-status-bar-hover-tooltips

Conversation

@marsmensch

@marsmensch marsmensch commented Jun 8, 2026

Copy link
Copy Markdown

Summary

All status bar items now show a Radix tooltip on hover. The title field on StatusbarItem was populated in i18n copy but never forwarded to the DOM — items had no hover feedback.

The model chip tooltip is also enriched to include provider, reasoning effort, and fast-mode state so users can inspect the active configuration without opening the model picker.

Changes

  • statusbar-controls.tsx: import Tip (the codebase's established drop-in for title=) and wrap every rendered variant — menu trigger, text div, link, action button — with <Tip label={item.title}>
  • use-statusbar-items.tsx: replace providerModelTitle/modelTitle on model-summary with new modelDetailTitle key that includes effort and fast mode; import reasoningEffortLabel
  • i18n/types.ts, en.ts, zh.ts, zh-hant.ts: add modelDetailTitle(provider, model, effort, fastMode) to the statusbar copy section

Validation

Before After
Statusbar item hover no feedback Radix tooltip via Tip
Model chip tooltip openrouter · claude-sonnet-4-6 openrouter · claude-sonnet-4-6 · Med (fast mode appended when active)
tsc in changed files clean clean
npm run build + electron . ✓ tested live — tooltip appears on hover over model chip in status bar

@alt-glitch alt-glitch added type/feature New feature or request P3 Low — cosmetic, nice to have labels Jun 8, 2026
@marsmensch
marsmensch force-pushed the feat/desktop-status-bar-hover-tooltips branch from b61c139 to 273a152 Compare June 8, 2026 09:46
Statusbar items now show Radix tooltips on hover. Previously the
`title` field on `StatusbarItem` was wired into i18n copy but never
forwarded to the DOM — items had no hover feedback at all.

Changes:
- statusbar-controls.tsx: import `Tip` from `@/components/ui/tooltip`
  and wrap every rendered variant (menu trigger, text div, link anchor,
  action button) with `<Tip label={item.title}>`. Tip is already the
  established drop-in for native `title=` across the codebase.
- use-statusbar-items.tsx: replace the sparse `providerModelTitle` /
  `modelTitle` strings on `model-summary` with a new `modelDetailTitle`
  key that also includes the active reasoning effort and fast mode state,
  so hovering the model chip shows e.g. "openrouter · claude-sonnet-4-6
  · Med · Fast mode on" instead of just the provider+model pair.
- i18n/types.ts: add `modelDetailTitle(provider, model, effort, fastMode)`
  to the statusbar copy interface.
- i18n/en.ts, zh.ts, zh-hant.ts: implement the key in all three locales.
@teknium1

Copy link
Copy Markdown
Contributor

Thanks for the statusbar-tooltip work. This is now implemented on main.

  • Automated hermes-sweeper review verified that apps/desktop/src/app/shell/statusbar-controls.tsx:103-219 provides hover tooltips for menu, text, link, and action statusbar variants.
  • da73223f4aba9beee9c020a5fee02f243414a3d7 introduced the all-variant tooltip behavior, and 7a6b3cb923f1fa99260b909e3729c35e6ffee323 finalized the required composed Radix trigger handling for menu items.
  • The statusbar model selector this PR enhanced was subsequently moved to the composer by c92a95a130cc0e88b33f0336191c56d4c0fef8a9; apps/desktop/src/app/chat/composer/model-pill.tsx:57-101 exposes the active Fast/reasoning state in the pill and provider/model in its tooltip.

@teknium1 teknium1 closed this Jul 14, 2026
@teknium1 teknium1 added the sweeper:implemented-on-main Sweeper: behavior already present on current main label Jul 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low — cosmetic, nice to have sweeper:implemented-on-main Sweeper: behavior already present on current main type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants