Repository navigation
Session Info scoped to a subagent holds still while the reader scrolls - #31176
Conversation
…olls The session card already reads the chat's rows through useHeldWhileScrolling; the subagent-scoped Session Info read snapshot.subagentViews live, so history paging in under the reader's scroll changed it mid-gesture. Hold those rows too, keyed by chat and subagent. Fixes #29639. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Agent-Session: https://cmux.com/deeplink/agent?id=aid-92fa78a91e29868c5eaa
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Gallery before/after for
States
Pick other states with a red: cmux-next checks (god files, concurrency, crash safety, l10n); base red: the same failure on the base 3545d99; does not block Shipped in:
|
|
Review (subagent opus-5.5 medium): SHIP at e901865 Hooks order safe (flat block beside cardRows/cardEdit); key chat+subagent takes a new subagent or chat at once; Session Info's chat rows already come from the held cardSnapshot; memo deps correct. Follow-ups:
|
|
Owned by an agent session · session |
|
Found 8 test failures on Blacksmith runners: Failures
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Fixes #29639.
The right-hand session card reads the chat's rows through
useHeldWhileScrolling(summary/heldWhileScrolling.ts, #29282), but Session Info scoped to a subagent readsnapshot.subagentViews[shown]live, so it could change under the reader's own scroll as history paged in. Those rows now go through the same hold, keyed by chat and subagent: the rows from when the scroll began stay until it settles, then the paged-in rows land once. Another subagent or another chat takes its rows at once.Only what Session Info lists is held; the header's Background tasks count stays live, as the chat's
transcriptWorkcount already does.Test:
webviews/test/summary-held-while-scrolling.test.tsxadds a case for the subagent key (held mid-scroll, applied on settle, another subagent at once). Fast checks plusbun run checkpassed on cmux-ci: https://github.com/manaflow-ai/cmux/actions/runs/41332644983Risk: small, one hook call in App.tsx feeding one prop.
Agent session: agent session
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes #29639. Subagent-scoped Session Info kept reading
snapshot.subagentViewslive, so history paging in under the reader's scroll changed its rows mid-gesture. It now uses the same held-while-scrolling mechanism as the chat's session card, keyed by chat and subagent: rows from when the scroll began stay until the scroll settles, then the paged-in rows land. Another subagent or chat takes its rows at once. Only the listed rows are held; the header's Background tasks count stays live.Written for commit e901865. Summary will update on new commits.