refactor(web): app code stops restyling sidebar, popover, table and misc ui exports - #13207
Conversation
…isc ui exports
Clears the 152 no-restyle findings in the "other" scope. Per the maintainer's
rule, components/ui holds generic primitives only, so no feature look moved
into ui/*. Decisions per cluster:
- SidebarTrigger over the stage artwork (AppSidebarLayout, SidebarChrome):
renders Button's existing media-navigation variant (control on imagery)
instead of white stroke/hover overrides. No new variant.
- SidebarHeader in SidebarChrome: the titlebar row is not a padded sidebar
header, so it is a plain div with its own classes.
- Sidebar border-r: dropped; the primitive already draws the side border.
- SidebarMenuSub/MenuButton/MenuItem/Group/Menu (LegacySidebar, Sidebar,
SettingsSidebarNav, SidebarThreadHeader): drift, moved onto the stock
look. The project row reserves room for its overlaid actions with a spacer
child instead of pr-8/pr-14; SettingsSidebarNav's gap moves to a wrapper.
- PullRequestActorLabel: stops forwarding className into its avatar and
label. It takes variant ("label" | "avatar" | "stacked-avatar") and size
("sm" | "md") for the three looks its six call sites use; className is
placement only. The profile link renders through InlineButton.
- MiddleTruncate: typography and motion move to a plain wrapper span.
- PopoverPopup/TooltipPopup: color pickers use padding="none"; the thread
hover card drops the [&_viewport]:p-0 reach-in and insets its own content;
glass/shadow/text-balance overrides dropped (stock popup look).
- PopoverTrigger: the pooled usage legend row renders Button ghost/compact;
the auto-balance banner title truncates an inner span.
- Toggle: search option toggles use the segmented size/variant; the other
overrides were dropped. ui/toggle gains aria-disabled:opacity-64, the
generic ARIA-disabled state matching native disabled.
- Table*, Separator, Label, RadioGroup, AlertAction, DialogTitle,
DialogPanel: overrides dropped onto stock spacing/colors; content-level
color and padding move to inner elements.
- DialogFooter dark transparent overrides: variant="bare".
- ScrollArea borders/rings: moved to a wrapper div; ComposerBanner.Scroll
pads its own content based on the viewport's overflow state.
- PreviewCardPopup p-3 and CollapsiblePanel pt-3: moved to inner content.
- Badge opacity: moved to a wrapper span.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
| @@ -752,14 +752,7 @@ export function PullRequestSummaryTab({ | |||
| <PullRequestActorLabel | |||
There was a problem hiding this comment.
🟡 Medium pullRequest/PullRequestSummaryTab.tsx:752
Reviewers without an entry.outcome now render overlapping avatars without the ring-background separator, so multiple pending reviewers appear visually merged under the -space-x-1 layout. variant="avatar" replaced the previous conditional fallback ring classes; restore those classes for outcome-less entries.
🚀 Reply "fix it for me" or copy this AI Prompt for your agent:
In file @apps/web/src/components/pullRequest/PullRequestSummaryTab.tsx around line 752:
Reviewers without an `entry.outcome` now render overlapping avatars without the `ring-background` separator, so multiple pending reviewers appear visually merged under the `-space-x-1` layout. `variant="avatar"` replaced the previous conditional fallback ring classes; restore those classes for outcome-less entries.
Thread transfer impact✅ Thread transfer remains within every enforced ceiling.
Baseline: unavailable · PR result: Scenario and decoded snapshot size10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.
Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed. |
ApprovabilityVerdict: Not approved Macroscope's review found this PR not approvable — This 41-file refactor changes the presentation and DOM structure of existing sidebar, popover, dialog, table, settings, usage, and pull-request flows, rather than making a small isolated styling cleanup. An unresolved medium finding also identifies a visual regression in overlapping pending-reviewer avatars. Not approved because:
Adjust the Minimum Blocking Severity for this repo — including turning it Off — in Settings. You can add or adjust custom eligibility rules. Learn more. |
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Repository: pingdotgg/t3code/.coderabbit.yaml Review profile: CHILL Plan: Team Run ID: 📒 Files selected for processing (41)
💤 Files with no reviewable changes (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthroughThe pull request updates presentation and layout across sidebar, chat, pull-request, settings, usage, and dialog components. ChangesApplication UI restyling
Priority: ⬇️ Low Estimated code review effort: 3 (Moderate) | ~25 minutes Change: Refactor Suggested reviewers: Merge Risk: ⚪ Minimal · up to The inspected UI interactions remain functional, and the restyle check passes. No confirmed issue prevents merging after normal checks. 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (2 warnings)
✅ Passed checks (3 passed)
Full details: Description checkExplanation The description provides substantial change details and notes validation steps, but it does not use the required What Changed, Why, UI Changes, and Checklist sections. It also states that required UI screenshots are not included. Resolution Rewrite the description using the repository template. Add explicit What Changed and Why sections, include before/after screenshots for the UI changes, and complete the Checklist. If screenshots are not applicable for a specific change, explain why in the UI Changes section.
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Comment |
…isc ui exports (pingdotgg#13207) Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
## What's Changed * hatch/variant functions by @juliusmarminge in pingdotgg/t3code#13191 * refactor(web): context chips render through one ContextChip component by @juliusmarminge in pingdotgg/t3code#13192 * refactor(web): ui components drop their secondary className props by @juliusmarminge in pingdotgg/t3code#13193 * refactor(web): menu triggers and items stop restyling ui/menu by @juliusmarminge in pingdotgg/t3code#13205 * refactor(web): field controls stop restyling Input, Select, Combobox and Command by @juliusmarminge in pingdotgg/t3code#13206 * refactor(web): app code stops restyling sidebar, popover, table and misc ui exports by @juliusmarminge in pingdotgg/t3code#13207 * refactor(web): Button consumers outside the composer stop restyling it by @juliusmarminge in pingdotgg/t3code#13208 * refactor(web): composer controls own their look instead of restyling ui components by @juliusmarminge in pingdotgg/t3code#13209 * chore(web): no-restyle fails lint, and the ceiling gate goes by @juliusmarminge in pingdotgg/t3code#13210 * fix(mobile): recover from screen render errors by @juliusmarminge in pingdotgg/t3code#13197 * feat(web): navigate back and forward with mod+[ and mod+] by @juliusmarminge in pingdotgg/t3code#13212 * fix(web): sort title matches by recent activity by @Yash-Singh1 in pingdotgg/t3code#13219 * test(desktop): remove redundant keyring module-load test by @t3-code[bot] in pingdotgg/t3code#13220 **Full Changelog**: pingdotgg/t3code@v0.0.43-nightly.20260923.2135...v0.0.43-nightly.20260923.2150 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.43-nightly.20260923.2150
…sed variants 0006 was generated against a sidebar blob that only existed locally, so CI's depth-1 fetch could not 3-way merge it and the plain fallback broke on upstream pingdotgg#13207's Separator change. Regenerated against main. The stale-patch report now treats NNNN variants as alternatives, like the apply script, instead of listing the unused variant of a working group. Closes #15 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
App code stops restyling Sidebar, ScrollArea, Popover, Tooltip, Table, Dialog, Toggle and the other ui exports. The only
components/uichange is generic:Togglestylesaria-disabledlikedisabled.PullRequestActorLabelstops forwarding alabelClassNameand has one prop,variant="label" | "avatar". Logins are medium weight everywhere, and a profile link renders throughInlineButton. The overlapping author faces on the PR summary get their separating ring from the stack's own wrapper, and every avatar is the default 16px (the summary used 24px).media-navigation.padding="none". The theme picker loses its custom radius, border and heavy shadow.surface-glass.Button ghost compact.variant="bare", so light mode drops its muted strip too.MiddleTruncate, ScrollArea, the banner scroll, and preview card padding moved to wrapper elements.no-restylefindings: 402 → 250.No screenshots yet: these changes are verified by lint, typecheck and tests only.
Claude Opus 5.5 via Claude Code.
🤖 Generated with Claude Code
Summary by CodeRabbit