Skip to content

fix(agent pane): a followed chat reaches the end under Reduce Motion - #21955

Merged
teamleaderleo merged 5 commits into
feat-cmux-nextfrom
chat/spacer-reduce-motion
Oct 19, 2026
Merged

teamleaderleo merged 5 commits into
feat-cmux-nextfrom
chat/spacer-reduce-motion

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 19, 2026 •

Copy link
Copy Markdown
Collaborator

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 a47b1c7 (the test alone): the height transition starts;
    • green on a9b915b (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


View with [code]smith Autofix with [code]smith
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.

Written for commit 14810df. Summary will update on new commits.

View guided diff Turn on auto-fix

teamleaderleo and others added 2 commits October 19, 2026 05:13
…der Reduce Motion (red)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ce Motion

The pages' Reduce Motion rule sets transition-duration to 0.01ms on every
element, and transition-property defaults to all, so the spacer's height
lagged a frame behind and a followed view clamped short of the end.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cursor

cursor Bot commented Oct 19, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Receipt for 14810df (this PR's head; a new push replaces it)

  • Visual review: HQ feed card · gallery before/after runs
  • Checks: this head
  • App of this head (app.zip, kept 1 day): gh workflow run reload-build.yml -R manaflow-ai/cmux --ref feat-cmux-next -f tag=pr21955 -f ref=chat/spacer-reduce-motion -f platform=macos -f backend_mode=local

@coderabbitai

coderabbitai Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: 0bb1a01f-a108-47fe-8bf9-04b2a516dfe5

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

red: web / Web status; do not merge until green; see lane-rules
red: web / react-apps-check; do not merge until green; see lane-rules
red: web / react-apps-check (1); do not merge until green; see lane-rules
red: web / react-apps-check (2); do not merge until green; see lane-rules

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

cmux status (one comment, edited in place; each line is updated by the job that owns it)

Unclear: web / react-apps-check failed: no known signature; failed step: Check webview test shards.

CI failed on 14810df4a3 (run 39219431622 attempt 1): 2 code, 1 unknown.

Job Verdict Why
web / react-apps-check (1) code a web test failed
web / react-apps-check (2) code a web test failed
web / react-apps-check unknown no known signature; failed step: Check webview test shards

Failures:

  • seen on other PRs check-system-blue.test.ts check-system-blue > this checkout is within its baseline: failed (job)
  • seen on other PRs composer-footer-plain.test.ts at 760 px (light): off, the chips draw as today: failed (job)
  • seen on other PRs composer-footer-plain.test.ts at 760 px (light): on, plain text at rest, same labels, no overlap: failed (job)
  • seen on other PRs composer-footer-plain.test.ts at 760 px (dark): off, the chips draw as today: failed (job)
  • seen on other PRs composer-footer-plain.test.ts at 760 px (dark): on, plain text at rest, same labels, no overlap: failed (job)
  • seen on other PRs composer-footer-plain.test.ts at 480 px (light): off, the chips draw as today: failed (job)
  • seen on other PRs composer-footer-plain.test.ts at 480 px (light): on, plain text at rest, same labels, no overlap: failed (job)
  • seen on other PRs composer-footer-plain.test.ts at 480 px (dark): off, the chips draw as today: failed (job)
  • seen on other PRs agent-pane-mode-keys.test.ts the trigger and every menu row draw the mode's own shield: failed (job)
Matched log lines
web / react-apps-check (1): (fail) check-system-blue > this checkout is within its baseline [1895.95ms]
web / react-apps-check (2): (fail) the trigger and every menu row draw the mode's own shield [1136.18ms]

Not re-run automatically: web / react-apps-check (1), web / react-apps-check (2), web / react-apps-check are not machine failures.

Written by scripts/ci/classify_failures.py (ci-failure-attribution.yml); signatures are its SIGNATURES table. A machine verdict is the runner's fault, not this PR's; yours means the failing file is one this PR changes, also red on main that main's latest full suite fails the same way, seen on other PRs that it failed on another pull request's run lately.

CI fast guards failed on 14810df4a3 (https://github.com/manaflow-ai/cmux/actions/runs/39219431622). It does not block the merge; a red guard merged into main breaks it for every open PR.
The log named no failed step; see the run.

Agents: python3 scripts/ci/guard_attribution.py fix applies the mechanical fixes locally.

@github-actions

Copy link
Copy Markdown
Contributor

CI fast guards failed on a9b915bdfe (https://github.com/manaflow-ai/cmux/actions/runs/39203439070). It does not block the merge; a red guard merged into main breaks it for every open PR.
The log named no failed step; see the run.

Agents: python3 scripts/ci/guard_attribution.py fix applies the mechanical fixes locally. This comment is updated in place on each push.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-i1qdz created for this PR by the cmux coordinator.

@blacksmith-sh

blacksmith-sh Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Found 10 test failures on Blacksmith runners:

Failures

Test View Logs
/tmp/tmptex8u2aw/summary-fail.json (live):/summary-fail.json (live): View Logs
/tmp/tmpyfh8wvy5/summary-missing.json (live):/summary-missing.json (live): View Logs
test/agent-pane-mode-keys.test.ts/agent-pane-mode-keys.test View Logs
test/agent-pane-mode-keys.test.ts/agent-pane-mode-keys.test View Logs
test/check-system-blue.test.ts/check-system-blue.test View Logs
test/check-system-blue.test.ts/check-system-blue.test View Logs
test/composer-footer-plain.test.ts/composer-footer-plain.test View Logs
test/composer-footer-plain.test.ts/composer-footer-plain.test View Logs
test/theme-colors.test.ts/theme-colors.test View Logs
test/theme-colors.test.ts/theme-colors.test View Logs

Fix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.

@cursor

cursor Bot commented Oct 19, 2026

Copy link
Copy Markdown

Bugbot needs on-demand usage enabled

Bugbot uses usage-based billing for this team and requires on-demand usage to be enabled.

A team admin can enable on-demand usage in the Cursor dashboard.

@teamleaderleo
teamleaderleo temporarily deployed to cmux-tui-merge-tree October 19, 2026 06:49 — with GitHub Actions Inactive
- regenerated Packages/macOS/CmuxNext/ci-target-graph.json
- vp fmt webviews/src/agent-session/acpmux/replyHref.ts
- vp fmt webviews/src/pages/markdown/README.md
- vp fmt webviews/src/pages/markdown/links.ts
- vp fmt webviews/test/markdown-cmux-app-links.test.ts

Autofix-Run: https://github.com/manaflow-ai/cmux/actions/runs/39212166835
…8099

# Conflicts:
#	webviews/src/agent-session/acpmux/replyHref.ts
#	webviews/src/pages/markdown/links.ts
@teamleaderleo
teamleaderleo merged commit 77f77a9 into feat-cmux-next Oct 19, 2026
@teamleaderleo
teamleaderleo deleted the chat/spacer-reduce-motion branch October 19, 2026 19:39
@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Merged by the coord-2 rescue lane at the reviewed head. Every red on this head also fails on feat-cmux-next from the same morning, in unrelated PRs (#21697, #21729, #21623, #21272): cmux-next checks fails on Motion tokens at the base file TabCell+HibernationRing.swift:109, and react-apps-check fails on check-system-blue, composer-footer-plain, theme-colors and agent-pane-mode-keys.

@github-actions

github-actions Bot commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant