fix(agent pane): a followed chat reaches the end under Reduce Motion
Under Reduce Motion, a chat that follows new output could stop a little short of the end and stay there. The pages' shared Reduce Motion rule (`pages/shared/desktop.css`) sets `transition-duration: 0.01ms` on every element, and `transition-property` defaults to `all`, so the transcript spacer (the scroller's extent) transitioned its height for that 0.01ms. The followed view set its offset against the old height in the same frame and clamped short. `.acpmux-spacer` now has `transition: none`. The Reduce Motion rule's `!important` covers only duration, so it doesn't override this.
This came out of #21665, where it sat outside that PR's Debug toggle. It applies to everyone, so it ships on its own.
Testing
- `CMUX_BROWSER_TESTS=1 bun test test/transcript-spacer-reduce-motion.test.ts` loads the real stylesheets in Chromium under emulated Reduce Motion, grows the spacer and lists the transitions it starts:
- red on a47b1c755f4 (the test alone): the height transition starts;
- green on a9b915bdfe2 (the fix): no transitions.
- `test/static-status-loops.test.ts` still passes (8/8), and `check:browser-lanes` passes.
- No app build.
Changelog
Fixed: Under Reduce Motion, a chat following new output scrolls all the way to the end
🤖 Generated with Claude Code
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Fixes a followed chat stopping a bit short of the end and staying there under Reduce Motion.
The shared Reduce Motion rule sets transition-duration: 0.01ms on every element, and transition-property defaults to all, so the transcript spacer transitioned its height for that frame while the followed view set its offset against the old height. .acpmux-spacer now has transition: none; the rule's !important covers only duration, so it doesn't override this. A new browser test loads the real stylesheets under emulated Reduce Motion and asserts no transition starts when the spacer grows.
This PR also merges feat-cmux-next into the branch.