Repository navigation
Move Bot-mode surfaces, mobile, the window companion and Computer/Browser settings onto design tokens - #1626
Merged
Merged
Conversation
The Computer and Browser bundle settings now render with the shared SettingsRow, Select, Note and a new PillButton instead of the legacy bh-settings-* classes. Both bundles already run the StyleX plugin, so they import ds/ directly and append their compiled rules to their own stylesheet. Each stylesheet now anchors every priority level, so a class shipped by several bundles gets the same specificity in each one. The six bh-settings-* rules with no remaining users are removed from the client stylesheet; rows, row, row-text and row-desc stay for the client files that still use them. Issue: #1602 Agent-Task: claude-code/cloud/session_0152zfVCAc6MNB8R8xVq9b76 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0152zfVCAc6MNB8R8xVq9b76
The mobile shell, Activity header, bottom navigation, Exit button and mobile conversation header now take spacing, type, radius and colour from the StyleX tokens. The desktop window companion's bubble, request card, toolbar, attention badge, character and tether do the same, sharing one speech-bubble shape. Rules that restyle other components' markup, react to ancestor state, animate or honour reduced motion stay in the scoped stylesheets and read the same token values. The companion alias table is gone. Issue: #1602 Agent-Task: claude-code/cloud/session_0152zfVCAc6MNB8R8xVq9b76 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0152zfVCAc6MNB8R8xVq9b76
Add IconButton and PanelHeader to the design system. The Channel sidebar tab strip, views menu, entry headers and entry header actions now take spacing, type, radius, size and colour from the StyleX tokens. Entry sections expose data hooks instead of legacy classes, and the e2e scripts follow them. Issue: #1602 Agent-Task: claude-code/cloud/session_0152zfVCAc6MNB8R8xVq9b76 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0152zfVCAc6MNB8R8xVq9b76
…em tokens Add ChipButton to the design system and a shared ComposerContextBar for the DM and Group composer context chips. The conversation title, Group name button and empty Group mark take type, radius and colour from the tokens. Tests and e2e scripts select them through data hooks. Issue: #1602 Agent-Task: claude-code/cloud/session_0152zfVCAc6MNB8R8xVq9b76 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0152zfVCAc6MNB8R8xVq9b76
…em components Issue: #1602 Agent-Task: claude-code/cloud/session_0152zfVCAc6MNB8R8xVq9b76 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0152zfVCAc6MNB8R8xVq9b76
Issue: #1602 Agent-Task: claude-code/cloud/session_0152zfVCAc6MNB8R8xVq9b76 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0152zfVCAc6MNB8R8xVq9b76
Issue: #1602 Agent-Task: claude-code/cloud/session_0152zfVCAc6MNB8R8xVq9b76 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0152zfVCAc6MNB8R8xVq9b76
|
Important Review skippedToo many files! This PR contains 101 files, which is 1 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. This review couldn't start because sufficient usage credits or metered capacity aren't available. Add credits or update usage-based reviews in the billing tab, then retry. ⚙️ Run configuration
⛔ Files ignored due to path filters: 12
📒 Files selected for processing: 101
You can disable this status message by setting the
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. Comment |
DoodleBears
marked this pull request as ready for review
October 14, 2026 04:57
This was referenced Oct 14, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Vain
Why the change
After the dialogs (#1608, #1619), the main Bot-mode surfaces still carried their own spacing, type, radius and colour values in legacy CSS and local alias tables. This moves them onto the same design tokens and components, without a new look: one source of values.
Refs #1589
Closes #1602
Special things to note
--bh-companion-*alias table is gone.bh-settings-*classes ontoSettingsRow,Select,Noteand a newPillButton.packages/client/src/client/ds/:icon-button,panel-header,chip-button,group-heading,pill-button,hooked(keeps a legacy class next to StyleX output where a test or selector needs it). New on-scale tokens:color.borderSoft,borderStrong,onAccent,elevated,navSelected,radius.menuItem,text.regular.scripts/stylex-plugin.mjs: every stylesheet now gets an empty anchor rule per StyleX priority level, so a shared design-system class has the same specificity in the Computer and Browser bundles as in the client. Before, most shared classes ranked one level lower there. Newscripts/test/stylex-plugin.test.mjscovers it.data-sidebar-entry,data-panel-head,data-conversation-title,data-sessions,data-memory-view-tabsand others) in about 25scripts/e2e-*.mjsfiles. e2e not run.SidebarCardList/SidebarCardRow, the Memory graph and versions, the remainingbh-settings-row*rules (still used by DSH Bot settings and release notes), and a few rules mobile and companion CSS override.pnpm typecheck,pnpm lint,pnpm format:check,pnpm buildpass.client-observer.test.tsfails as onmain.design-system-surfaces.test.ts, mobile panel, window companion, Computer and Browser settings, and committed-bundle stylesheet checks.mainat e363a64, after is this branch. Bot Inbox is empty in these profiles, so the Work tab of a group is shown instead. The companion overlay was hidden in the other shots because it walks over the mobile nav.Change outline
Each image: rows zh light, zh dark, en light, en dark; left Before, right After.
Sidebar tabs (Sessions)
Memory tab
Work tab
Conversation header and composer context
Mobile Bot panel
Mobile conversation header
Window companion
Computer settings
Browser settings
🤖 Generated with Claude Code
https://claude.ai/code/session_0152zfVCAc6MNB8R8xVq9b76
Generated by Claude Code