fix(web): clean up composer resize animation - #6209
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Repository UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
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 |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using high 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 fixes drafted automatically? Bugbot Autofix can create code changes for findings. A team admin can enable Autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit aa54a6a. Configure here.
ApprovabilityVerdict: Approved 7755d24 Pure UI animation polish for the composer toolbar's compact/expand transition. Adds smooth FLIP animations for control repositioning, respects prefers-reduced-motion, and makes no changes to business logic or data handling. You can customize Macroscope's approvability policy. Learn more. |
Mark the locked workspace span as a composer context control so FLIP measurements include it when nearby labels collapse.
Dismissing prior approval to re-evaluate 7755d24
## What's Changed * fix(web): clean up composer resize animation by @extoci in pingdotgg/t3code#6209 * feat(web): compact sidebar footer actions by @maria-rcks in pingdotgg/t3code#6210 * fix(web): keep sidebar wordmark visible at minimum width by @extoci in pingdotgg/t3code#6246 **Full Changelog**: pingdotgg/t3code@v0.0.34-nightly.20260811.1071...v0.0.34-nightly.20260812.1072 Upstream release: https://github.com/pingdotgg/t3code/releases/tag/v0.0.34-nightly.20260812.1072

What Changed
Why
The old animation changed label width over 300 ms while the surrounding controls moved at a different speed. This made the toolbar feel disconnected.
Controls could also paint outside the composer during the transition. In narrow layouts, long labels could overlap their chevrons.
The new animation moves the controls and labels together. It stays inside the toolbar and handles quick direction changes without removing the animation.
UI Changes
before.mov
after.mov
Verification
vp test run apps/web/src/components/BranchToolbar.logic.test.ts apps/web/src/components/composerFooterLayout.test.tsvp run --filter @t3tools/web typecheckChecklist
Note
Low Risk
UI-only animation and layout tweaks in the composer toolbar; no auth, data, or API changes.
Overview
Replaces the composer context strip’s 300ms label width fade with a coordinated compact/expand transition so environment, workspace, and branch controls move together when width changes (e.g. sidebar resize).
useLabelsOverflownow snapshots[data-composer-context-control]rects before toggling compact state and runs a 180ms FLIPtranslate3danimation inuseLayoutEffect, with prior animations cancelled for quick reversals and no motion whenprefers-reduced-motion. Labels use an outerdata-composer-labelshell (max-width collapse) plus an innerdata-composer-label-motionspan for opacity/transform; reduced motion keeps opacity-only transitions.The context strip gains
overflow-x-clipto contain horizontal paint during transitions. Child selectors mark controls withdata-composer-context-control(including the vertical separator between environment and git controls).Reviewed by Cursor Bugbot for commit 7755d24. Bugbot is set up for automated code reviews on this repo. Configure here.
Note
Add FLIP-style reposition animation to composer toolbar compact/expand transitions
BranchToolbarwhen the toolbar switches between compact and expanded states, using a FLIP approach (record pre-change rects, apply translate3d from old to new positions).BranchToolbarBranchSelector,BranchToolbarEnvModeSelector, andBranchToolbarEnvironmentSelectorto opt into the animation viadata-composer-context-controland to wrap label content indata-composer-label-motionspans for smoother label collapse.prefers-reduced-motionis set.Macroscope summarized 7755d24.