Refresh composer, agent icon, and composer trigger styling - #578
Merged
Conversation
Applies the updated design for the composer area and the chrome triggers around it. - ComposerShell: 12px corners, card surface, and a 1px violet->indigo gradient hairline drawn via the padding-box/border-box background-clip pair. The ramp and its glow are light-only; dark keeps the palette's neutral hairline, where the violet reads far louder than intended. ComposerContainer's dropzone radius follows so the drag ring stays flush. - DraftCompositeSelector: the tools trigger loses its "Tools" caption and count badge, leaving an icon-only button (30px, matching the design). The count and name still reach assistive tech through the existing aria-label and sighted users through the tooltip. With both triggers now icon-only the row goes gapless so they cluster as one toolbar. - AgentsLibraryButton: use the design system's own `agent-2` glyph instead of the generic lucide robot. - SaveAgentButton: squared-off chrome-action geometry (2px corners, 10px horizontal padding, card surface) applied at the component rather than the shared `outline` variant, since size classes are merged after variant classes and would otherwise win. - agent-2.svg: `currentColor` in place of a hardcoded `#000`, which also makes the existing SubAgentCard usage legible in dark mode. The composer radius is expressed directly rather than through `--composer-radius`, which still drives ThreadShell and UserMessageBubble; folding it into the theme preset would restyle surfaces this design did not touch. Co-Authored-By: Claude <noreply@anthropic.com>
bharat-tf
requested review from
govindavashishtha,
kumarsks619,
qaifi-tf,
sajal-truefoundry,
sayan-truefoundry and
vinit-truefoundry
as code owners
September 3, 2026 10:52
🦋 Changeset detectedLatest commit: 565ecc1 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 4c6ebab. Configure here.
Keep main's shell-managed Agents rail and the design branch's agent-2 icon. Co-authored-by: Cursor <cursoragent@cursor.com>
…ius and gradient hairline. Adjust SaveAgentButton and ComposerContainer for consistent design. Remove unnecessary borders in SidebarLayout for cleaner UI. Fix `agent-2.svg` for better dark mode visibility.
govindavashishtha
approved these changes
Sep 3, 2026
…nd adjust SidebarLayout tests for correct button visibility
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.

Applies the updated design for the composer area and the chrome triggers around it.
agent-2glyph instead of the generic lucide robot.outlinevariant, since size classes are merged after variant classes and would otherwise win.currentColorin place of a hardcoded#000, which also makes the existing SubAgentCard usage legible in dark mode.The composer radius is expressed directly rather than through
--composer-radius, which still drives ThreadShell and UserMessageBubble; folding it into the theme preset would restyle surfaces this design did not touch.Summary
Closes #
Changes
How was this tested?
Checklist
pnpm build,pnpm test,pnpm typecheck,pnpm lint:ci, andpnpm format:checkpass locallypackages/trueforge-sdk,.github/fern/openapi/openapi.json,docs/openapi.json) — fork PRs omit SDK regen; maintainers regenerate after merge.env.exampleupdated if configuration or behavior changedNote
Low Risk
Mostly visual and layout tweaks plus test/config fixes; mobile users reach theme/settings via the nav drawer instead of the top bar.
Overview
Refreshes composer and surrounding chrome triggers to match the updated design.
The composer shell moves to 0.75rem corners, a card surface, a light-theme primary-token gradient hairline (faded top → solid bottom) with matching glow, and a neutral border in dark mode; the attachment dropzone radius follows so drag rings stay aligned. The tools control in the draft selector is icon-only (wrench); tool count and names stay on aria-label and the tooltip, and the trigger row is gapless so icon buttons read as one toolbar.
Agents library uses the
agent-2glyph instead ofbot;agent-2.svgusescurrentColorfor dark-mode legibility. Save agent gets squared chrome-action styling (tight corners, card fill, extra horizontal padding). Sidebar mobile header no longer duplicates Settings / theme — those stay on the nav drawer / rail footer; mobile drawer chrome drops some divider borders. Tests expect a single Settings/theme instance; Vitest passes--no-webstorageon Node 25+ so jsdom owns localStorage.Reviewed by Cursor Bugbot for commit 565ecc1. Bugbot is set up for automated code reviews on this repo. Configure here.