Skip to content

Add hover tooltips to workspace and pane tabs - #3329

Merged
lawrencecchen merged 2 commits into
mainfrom
task-add-tooltips-workspaces-bonsplit-tabs
Apr 30, 2026
Merged

lawrencecchen merged 2 commits into
mainfrom
task-add-tooltips-workspaces-bonsplit-tabs

Conversation

@lawrencecchen

@lawrencecchen lawrencecchen commented Apr 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • Show workspace titles as hover tooltips on sidebar workspace rows.
  • Point vendor/bonsplit at the tab-title tooltip change from Add hover tooltips to tabs bonsplit#109.
  • Add a sidebar tooltip coverage test for workspace rows.

Testing

  • ./scripts/reload.sh --tag tips passed.
  • Local test suite not run, per repo instruction to route tests through CI.

Issues


Summary by cubic

Adds hover tooltips to sidebar workspace rows and bonsplit tabs using their titles. Completes the Linear task and adds a test for workspace row tooltips.

  • New Features

    • Sidebar workspace rows and bonsplit tabs show their titles on hover.
    • Added a unit test verifying the workspace row tooltip uses the workspace title.
  • Dependencies

    • Updated vendor/bonsplit to include tab-title tooltip support.

Written for commit 4a9194a. Summary will update on new commits. Review in cubic

Summary by CodeRabbit

  • New Features

    • Workspace sidebar tabs now show tooltips that use the workspace title, improving identification and clarity.
  • Tests

    • Added test coverage to verify workspace-row tooltips display the correct workspace title.
  • Chores

    • Updated a vendor dependency reference.

@vercel

vercel Bot commented Apr 30, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
cmux Ready Ready Preview, Comment Apr 30, 2026 0:42am
cmux-staging Building Building Preview, Comment Apr 30, 2026 0:42am

@coderabbitai

coderabbitai Bot commented Apr 30, 2026 •

Copy link
Copy Markdown

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: a91205a4-8355-4024-a72c-d21d9e2edcad

📥 Commits

Reviewing files that changed from the base of the PR and between bf4552c and 4a9194a.

📒 Files selected for processing (1)
  • Sources/ContentView.swift

📝 Walkthrough

Walkthrough

Rewires workspace-row subtitle to use latestNotificationText directly, applies .safeHelp(workspaceSnapshot.title) to the workspace tab row, adds a test verifying the workspace-row tooltip uses the workspace title, and updates the vendor/bonsplit submodule reference.

Changes

Cohort / File(s) Summary
Workspace UI
Sources/ContentView.swift
Removed redundant latestNotificationSubtitle layer, use latestNotificationText as effectiveSubtitle; add top-level .safeHelp(workspaceSnapshot.title) on the workspace tab row; removed non-functional comment markers.
Tests
cmuxTests/SidebarIdentifierFormattingTests.swift
Added testWorkspaceRowTooltipUsesWorkspaceTitle; updated makeHarness to accept an optional workspaceTitle and configure TabManager for tooltip verification.
Submodule
vendor/bonsplit
Updated Git submodule commit reference to a new pinned revision.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~12 minutes

Possibly related PRs

Poem

🐰 I hopped through code to tuck a title bright,
A tiny tooltip beaming in the light.
Tests keep watch while submodules turn,
A whispered help for each workspace tab I earn.
✨

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: adding hover tooltips to workspace and pane tabs, which matches the file changes and overall PR objectives.
Description check ✅ Passed The description is mostly complete with Summary and Testing sections filled out and relevant context provided, though the Demo Video section is missing and the Checklist is not marked.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch task-add-tooltips-workspaces-bonsplit-tabs

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
Review rate limit: 3/8 reviews remaining, refill in 34 minutes and 42 seconds.

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

@greptile-apps

greptile-apps Bot commented Apr 30, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR adds hover tooltips to workspace sidebar rows by applying .safeHelp(workspaceSnapshot.title) on TabItemView and bumps the vendor/bonsplit submodule to pick up pane-tab tooltip support from bonsplit PR #109. A new test, testWorkspaceRowTooltipUsesWorkspaceTitle, exercises the tooltip rendering path through the existing SidebarHarness.

  • P1 — submodule pointer not on origin/main: vendor/bonsplit is pinned to a1fb2111, which is not reachable from bonsplit's origin/main. Per the repo's submodule safety rule, the commit must land on main in the submodule remote before the parent-repo pointer is updated, or the referenced commit can be orphaned if the bonsplit PR branch is force-pushed or deleted.

Confidence Score: 3/5

Not safe to merge until the bonsplit submodule commit is on origin/main.

One P1 finding: the bonsplit submodule pointer references a commit that is not on origin/main, violating the explicit submodule safety policy. The Swift changes in ContentView.swift and the new test are clean. Score is pulled down from the P1 ceiling (4) because the submodule issue affects the integrity of the vendor dependency shipped with the binary.

vendor/bonsplit — submodule pointer must be on origin/main before merging.

Important Files Changed

Filename Overview
Sources/ContentView.swift Adds workspaceTooltip local let in TabItemView.body and applies .safeHelp(workspaceTooltip) on the workspace row; derived from the existing snapshot so the Equatable == function needs no changes.
cmuxTests/SidebarIdentifierFormattingTests.swift Adds testWorkspaceRowTooltipUsesWorkspaceTitle — renders the sidebar with a custom workspace title and asserts its presence in collected toolTip values; also threads workspaceTitle into makeHarness via an optional parameter.
vendor/bonsplit Advances the bonsplit submodule pointer to a1fb2111 (tab-title tooltip change from PR #109), but this commit is not yet on origin/main of the bonsplit repo — violates the submodule safety policy.

Sequence Diagram

sequenceDiagram
    participant User
    participant TabItemView
    participant WorkspaceSnapshot
    participant safeHelp as .safeHelp (NSView.toolTip)

    User->>TabItemView: hover over sidebar workspace row
    TabItemView->>WorkspaceSnapshot: read workspaceSnapshot.title
    WorkspaceSnapshot-->>TabItemView: "My Workspace"
    TabItemView->>safeHelp: .safeHelp("My Workspace")
    safeHelp-->>User: tooltip appears with workspace title
Loading

Reviews (1): Last reviewed commit: "Add hover tooltips to tabs" | Re-trigger Greptile

Comment thread vendor/bonsplit
@lawrencecchen
lawrencecchen merged commit bc24032 into main Apr 30, 2026
21 checks passed
@lawrencecchen
lawrencecchen deleted the task-add-tooltips-workspaces-bonsplit-tabs branch April 30, 2026 00:50

This branch was successfully deployed

1 active deployment
Preview – cmux — 4a9194ab Deployed Apr 30, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant