fix(web): render rows below expanded tool calls at thread bottom - #3
Conversation
|
Round 2, after the first version failed manual testing. Actual root cause was app-side, not the library. The 3.3.4 port from round 1 was applied and executing, but it guards a different failure (content growth pushing the end past the threshold cancels the pass). The blank rows came from a disclosure asymmetry in Fix: route the command-row toggle through the same settling path (982ee778b). The round-1 library patch stays — it fixes a real adjacent bug upstream fixed in 3.3.4, it just wasn't this one. Manual verification: open a long thread, scroll to exact bottom, expand the last Codex CLI (diagnosis + fix) + Claude Fable 5 (Claude Code) |
…t rows Route the command-output disclosure through the same settling path as turn folds and work-group toggles. Expanding a row at pinned bottom no longer lets LegendList schedule a compensating end scroll against a stale render window, which left the rows below blank until the next re-render. The library-patch port from round 1 stays: it fixes a real adjacent bug but was not the cause here. Codex (gpt-5.6-sol) via Claude Code
982ee77 to
2e2b2f8
Compare
Fixes the blank rows below an expanded command-output row at pinned thread bottom.
Root cause was an app-side disclosure asymmetry in
MessagesTimeline.tsx: turn folds and "+N previous tool calls" suspend LegendList end-scroll maintenance before resizing, but the command-output row only toggled local state. WithmaintainScrollAtEndstill active, the row's growth scheduled a compensating end scroll against a render window computed for the pre-growth geometry, blanking the rows below until the next re-render.Fix routes the command-row toggle through the same
suspendEndScrollMaintenanceForDisclosuresettling path, so expansion/collapse keeps the viewport anchored like the other disclosure types.An earlier revision ported the upstream @legendapp/list 3.3.4 end-maintenance guard instead; it was applied and executing but guards a different scenario and did not fix this bug (see comments). It has been dropped to keep the diff minimal.
Verified: 62 timeline unit tests pass; headed Chromium shows expand/collapse scroll delta of 0.00 both directions with full row coverage (pre-fix, expansion moved scrollTop by exactly the height delta). Draft until manual confirmation on a dev instance.
Codex CLI (diagnosis + fix) + Claude Fable 5 (Claude Code)