Skip to content

Replace mode-toggle titles with styled tooltips - #696

Closed
ashleyww93 wants to merge 1 commit into
pingdotgg:mainfrom
ashleyww93:t3code/c3e4dfe8
Closed

Replace mode-toggle titles with styled tooltips#696
ashleyww93 wants to merge 1 commit into
pingdotgg:mainfrom
ashleyww93:t3code/c3e4dfe8

Conversation

@ashleyww93

@ashleyww93 ashleyww93 commented Mar 9, 2026

Copy link
Copy Markdown

What Changed

Replaces native browser title attributes on the Chat and Runtime mode buttons with a proper Tooltip component, improving both visual consistency and accessibility.

  • Swap title attributes on Chat and Runtime mode buttons for the Tooltip UI component, including a keyboard shortcut hint for the plan toggle
  • Use aria-description instead of title for accessibility text, avoiding native tooltip behavior
  • Add default open/close delays and refresh tooltip popup styling for a more polished feel
  • Update browser tests to assert that title attributes are no longer present

Why

The app already had a styled tooltip component available, but these buttons were still using the default browser tooltip instead. I also wanted to surface the Shift+Tab shortcut more clearly, since it isn’t user-bindable and isn’t something people would discover unless they already use that shortcut elsewhere.

UI Changes

Before:
Ask anything @tar hesfoiders or use modi

After:
• Full access

Checklist

  • This PR is small and focused
  • I explained what changed and why
  • I included before/after screenshots for any UI changes
  • I included a video for animation/interaction changes (I don't think it's needed for this)

Note

Replace ChatView interaction and runtime toggle button title attributes with styled tooltips using Tooltip/TooltipPopup and default trigger delays (120ms open, 80ms close) in tooltip.tsx

Switch ChatView mode toggles to custom tooltips with aria-description, update tooltip trigger defaults (delay 120ms, closeDelay 80ms), and adjust tooltip styling; update tests to assert no title attributes.

📍Where to Start

Start with the toggle render logic in ChatView.tsx, then review tooltip trigger/popup behavior in tooltip.tsx, and finally the updated expectations in ChatView.browser.tsx.

Macroscope summarized 5998d74.

- switch Chat and runtime mode buttons from `title` attributes to Tooltip UI with keyboard hint for plan toggle
- use `aria-description` for accessibility text instead of native title tooltips
- add default tooltip open/close delays and refresh tooltip popup styling
- update browser tests to assert absence of `title` attributes
@github-actions github-actions Bot added the vouch:unvouched PR author is not yet trusted in the VOUCHED list. label Mar 9, 2026
@coderabbitai

coderabbitai Bot commented Mar 9, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro

Run ID: bdbe3773-0781-4eed-8f5c-73661315f831

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

anonb3ll added a commit to anonb3ll/tcode that referenced this pull request Aug 29, 2026
…pingdotgg#701) (#3)

* feat(server): add Antigravity CLI provider protocol spike

Establish the wire contract for driving the Antigravity (agy) CLI as a T3
provider: bounded plan-mode launch and resume argument construction,
unavailable/unauthenticated/available classification, stream-json event
parsing, and terminal-outcome normalization covering cancellation and
missing terminal results.

Protocol functions only. Nothing spawns a process or registers a provider,
so the live provider catalog is unchanged.

Verified against agy 1.1.22 by bounded read-only probe: init, step_update,
and result envelopes match the fixtures, and --conversation resume
continues step_index and reuses cached context.

Spike authored by Desktop_Codex; recovered from a disposable checkout,
independently re-verified, and committed by Laptop_Cursor. Task pingdotgg#642.

* feat(provider): add Antigravity (agy) production provider adapter

* fix(provider): harden Antigravity adapter for production follow-ups

Real `agy models` auth probe, SIGINT/SIGTERM kill honesty, tool ERROR and
CANCELED taxonomy, UA-owned approval via skip-permissions (no fake sandbox),
and launchArgs/effort/runtimeMode hygiene. Focused tests cover the slices;
live `agy models` probe exits 0 on this host.

Co-authored-by: Cursor <cursoragent@cursor.com>

* test(provider): update ProviderRegistry expectations for Antigravity

Built-in antigravity was missing from catalog/spawn assertions, which
failed the registry suite once the adapter landed.

Co-authored-by: Cursor <cursoragent@cursor.com>

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants