Repository navigation
Conversation
Contributor
ApprovabilityVerdict: Approved at Macroscope's review found this PR approvable — The composer footer now collapses controls and context labels in a fixed, width-driven order. The changes are limited to responsive presentation, without changing selections, stored data or external operations. You can add or adjust custom eligibility rules. Learn more. |
The context strip measured each chip from its HTML children, so a chip's SVG icon, gap, padding and border went uncounted. The env chip read 36px narrower than it was, the strip kept its labels while the row no longer fit, and the model chip shrank to an ellipsis instead. Chips that do not grow are now measured by their own box. The model chip and the env chip no longer shrink, so the branch is the only label that can ellipsize, and the unused squeezed-picker minimum width is gone. Made with Claude Opus 5.5 in Claude Code.
macroscopeapp
Bot
dismissed
their stale review
November 5, 2026 11:02
Dismissing prior approval to re-evaluate 1917496
This was referenced Nov 5, 2026
macroscopeapp
Bot
dismissed
their stale review
November 5, 2026 15:40
Dismissing prior approval to re-evaluate 0212e3f
This was referenced Nov 5, 2026
This branch has not been deployed
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.
Note
🤖 Claude Opus 5.5 on behalf of Oliver
Fix for the redesign stack, targets layer 2 (#28840).
Dragging a pane narrower or wider made the composer footer jump around. Labels collapsed in a different order depending on the width and the direction. Some came back while earlier ones stayed collapsed, and some widths flipped several at once. A collapsed environment chip also left a wider gap before the next chip than the chips around it.
Why it happened
The footer had three separate collapse rules that didn't know about each other:
Fix
The footer now collapses in one fixed order. Going narrower, one item changes at a time:
Going wider reverses the same steps. Hysteresis only shifts where a step happens. It never changes the order.
Why this order: mode and effort are the least informative labels and keep a recognizable icon. Which machine you run on matters more, but the env icon and tooltip still say it. The model name is the label people check most, and the branch is the last thing worth cutting.
How it works:
Measuring still happens once per resize, mutation or font load, never on every frame.
Before / after
Same browser fixture at 1000 → 380 → 1000 px, dark theme, long branch, and environment chip forced visible. Uses the existing 6 Astra / Medium / Full access labels; no provider turns were started. The after capture gives the branch the free footer width and keeps the model label whole while it is visible.
Before, 1×
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/7374e7ec9f6a868e/31401-before.mp4
After, 1×
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/21db757ca81bd34c/31401-after.mp4
Before, 4× slower playback
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/5e8d33695c25644f/31401-before-slow.mp4
After, 4× slower playback
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/d67f55824f78676a/31401-after-slow.mp4
Validation
composerFooterLayout.test.ts: a new case runs both fitters together over every width from 700px down to 200px and back. It checks that collapsed items are always a prefix of the order above, and that each direction steps through 0→6 and 6→0 one item at a time. Run against this layer's logic, the same sweep collapses env, then branch, then mode, then model and effort together.1→2→1→2→3→2…), and jump two steps at once at 438px.0→1→2→3→4→5narrowing and back in reverse widening. No control passes the composer edge.vp run check:changed origin/maria/redesign/2-composer-timeline: format, lint, knip, typecheck, tests and React compiler all pass.Made with Claude Opus 5.5 in Claude Code.