Skip to content

fix(web): polish sidebar v2 chrome and composer surfaces#4252

Merged
t3dotgg merged 4 commits into
pingdotgg:t3code/new-sidebar-client-onlyfrom
maria-rcks:maria/sidebar-v2-ui-fixes
Jul 22, 2026
Merged

fix(web): polish sidebar v2 chrome and composer surfaces#4252
t3dotgg merged 4 commits into
pingdotgg:t3code/new-sidebar-client-onlyfrom
maria-rcks:maria/sidebar-v2-ui-fixes

Conversation

@maria-rcks

@maria-rcks maria-rcks commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

What Changed

  • simplifies the project chrome in the chat header and branch toolbar so the active project reads more cleanly
  • rounds the composer shell and its pending-state banners to match the updated sidebar surface treatment
  • gives the app sidebar its own scoped graphite palette instead of reusing the workspace card surface
  • polishes Sidebar v2 cards, settled rows, project filters, and status labels with lighter spacing and clearer done/working states

Why

These changes are UI-only follow-ups on top of #4026. They tighten the visual hierarchy in Sidebar v2, make the composer and sidebar feel like part of the same surface system, and remove some extra chrome around project identity that was pulling focus away from the thread content.

UI Changes

image

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

Validation

  • vp run --filter @t3tools/web typecheck
  • vp test run apps/web/src/components/Sidebar.logic.test.ts apps/web/src/components/chat/ChatHeader.test.ts
  • Skipped browser verification at user request

Note

Cursor Bugbot is generating a summary for commit c384406. Configure here.

Note

Polish Sidebar V2 chrome and composer surfaces with new color palette and status UI

  • Sidebar V2 adopts a dedicated graphite-like color palette via the new .app-sidebar CSS class and theme tokens in index.css.
  • SidebarV2Row replaces edge strips and status word badges with icon-based status labels ('Working', 'Approval', 'Input', 'Failed', 'Done'), adds unread awareness to visually de-emphasize ready/read threads, and removes per-second timer ticking.
  • Time labels now use a compact relative format (e.g. '5m' instead '5m ago') via a new compactSidebarTimeLabel helper in SidebarV2.tsx.
  • The sidebar header gains a horizontally scrollable project filter with a right-side gradient fade; the new-thread button becomes icon-only with a tooltip (shortcut label hidden on non-Electron).
  • The chat composer in ChatComposer.tsx gets larger rounded corners, and the chat header and branch toolbar remove bordered capsule/project badge chrome.

Macroscope summarized c384406.

@coderabbitai

coderabbitai Bot commented Jul 22, 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: 4ebc963f-f1f1-4678-9042-54ced779db22

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

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.

@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L 100-499 changed lines (additions + deletions). labels Jul 22, 2026
@maria-rcks
maria-rcks requested a review from t3dotgg July 22, 2026 06:28

@cursor cursor Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using high effort and found 3 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit c384406. Configure here.

)}
</span>
))
)}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Slim rows hide thread time

Medium Severity

On settled slim sidebar rows, the right-hand slot renders either the PR badge or the relative time, not both. Threads with an open PR no longer show when they were last active, which makes scanning settled history harder than before this layout change.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c384406. Configure here.

tooltip={{
children: newThreadShortcutLabel
? `New thread (${newThreadShortcutLabel})`
: "New thread",

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

New thread shortcut hint wrong

Low Severity

The new-thread control only resolves a keyboard hint when isElectron is true and only for chat.new, while the adjacent Search control still shows its binding on web. Sidebar v1 falls back to chat.newLocal and does not gate the label on Electron, so tooltips can omit or misstate the shortcut users actually have bound.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c384406. Configure here.

)}
</span>
))
)}

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR badge hidden on hover

Medium Severity

On settled slim sidebar rows, the PR # control is rendered inside the trailing slot that gets group-hover/v2-row:opacity-0 so the settle/unsettle affordance can appear. Hovering the row hides the PR badge, so users cannot reliably open the PR from the sidebar history list.

Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit c384406. Configure here.

@macroscopeapp

macroscopeapp Bot commented Jul 22, 2026

Copy link
Copy Markdown
Contributor

Approvability

Verdict: Needs human review

UI polish changes to sidebar and composer styling. However, three unresolved review comments identify potential bugs: PR badge hidden on hover, thread time hidden when PR badge shown, and incorrect shortcut hints on non-Electron. These usability regressions warrant human review before merging.

You can customize Macroscope's approvability policy. Learn more.

t3dotgg added a commit that referenced this pull request Jul 22, 2026
… marker

Maria's design pass lands as-is: scoped graphite sidebar palette,
rounded composer shell, simplified project chrome, lighter card and
filter styling. Her removal of the composer project chip supersedes
ours (same outcome).

One addition on top: the settled boundary gets its quiet label back.
Her pass replaced the SETTLED mono-caps divider with a bare 8px gap —
but an unnamed gap doesn't explain why rows below it look different,
and the name anchors what un-settle/settle act on. Restored minimally
in her visual language: a 10px muted 'Settled' word with a soft
hairline, no mono, no caps, no tracking.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@t3dotgg
t3dotgg merged commit 23a72f5 into pingdotgg:t3code/new-sidebar-client-only Jul 22, 2026
16 checks passed
@t3dotgg

t3dotgg commented Jul 22, 2026

Copy link
Copy Markdown
Member

Merged into #4026 (the sidebar v2 beta PR) — thank you, this pass is lovely. One addition on top: the settled boundary got its label back in your visual language — a quiet 10px muted "Settled" word with a soft hairline instead of the old mono-caps divider — so the tail reads as a named zone rather than an unexplained gap.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 100-499 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants