Skip to content

fix(web): collapsing the working window no longer nudges the timeline - #30466

Merged
maria-rcks merged 182 commits into
pingdotgg:maria/redesign/2-composer-timelinefrom
flamboh:t3/redesign-fix-working-window-collapse-jump
Nov 5, 2026
Merged

maria-rcks merged 182 commits into
pingdotgg:maria/redesign/2-composer-timelinefrom
flamboh:t3/redesign-fix-working-window-collapse-jump

Conversation

@flamboh

@flamboh flamboh commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor

Note

🤖 Claude Opus 5.5 on behalf of Oliver

Fix for the redesign stack, targets layer 2 (#28840).

When you're at the bottom of a thread with a running turn and collapse the working window, the whole timeline jumps up about 10px for a few frames, then drops back. It happens whenever a new or updated row lands during the 200ms collapse, which happens almost every time during a busy turn.

The cause: the timeline pauses its "follow the end" scrolling only while the history is open, plus two frames after a toggle. That smooth follow comes back during the collapse. A new row then starts a smooth scroll to an end that is still moving up as the window shrinks. The browser then clamps the scroll back.

Now the working window tells the timeline when its collapse is running, and the timeline holds off following until the collapse transition settles. It already waited for that moment to swap in the collapsed box. Following comes back as soon as the collapse ends. It also comes back if the window unmounts partway through. The bar stays put, the timeline stays pinned to the bottom, and the collapse and its top fade play as before.

A new case in MessagesTimeline.browser.test.tsx slows the collapse, adds a row partway through, and checks that the bar never moves. Without the fix, the bar jumps from 865px to 46px.

Before / after

Local test setup, Replay only: a busy turn from a temporary Replay scenario (a long first answer, then a new row about every 150ms), with the collapse slowed to 3s by an injected transition-duration. The slowdown gives rows time to land mid-collapse, so the bump shows up every time. 1280×831, dark mode. Each video expands and collapses the window three times. Both builds show the "Scroll to end" pill during a slowed collapse and "Jump to latest" in the collapsed box after a reload. The branch chip says layer2 in both because that is the checkout name on the test machine.

Working bar position while the window collapses: before, the bar jumps up 17, 16 and 5 px near the end of each collapse; after, 0 px in all three

Before (layer 2): worst frame, bar 17px above where it rests After: same point in a collapse, bar where it rests
Before: the Working bar sits 17px above its resting line After: the Working bar sits on its resting line

Before (layer 2):

https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/b4db11eaeb562f4d/30466-before-slow-bump.mp4

After:

https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/805a12f6be5778f6/30466-after-slow.mp4

Made with Claude Opus 5.5 in Claude Code (T3 Code).

takeover verification

merged current main and the current redesign target with merge commits, preserving the collapse fix and current panel defaults. the pr remains four files, +61/-3. no force push.

blacksmith vp run check:changed FETCH_HEAD passed against the current target: format, lint, knip, typecheck, 180 focused tests, and 3 compiler checks. two independent code reviews found no issues. chrome exercised open, collapse, and rapid reopen through replay; the bar stayed at y=150 px. the focused browser regression covers arrivals during collapse.

work history open, collapse, and rapid reopen in the real client

verified with gpt-6.1-sol through the codex harness.

Merged-head verification

Blacksmith check:changed passed, including 1,521 tests. Two independent reviewers approved 633a66802d. The existing takeover comment records the checks and runtime limits.

Merged head: collapse, reopen, streaming and replay completion

maria-rcks and others added 30 commits November 3, 2026 21:50
…s drop "Until" (pingdotgg#29134)

Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…dotgg#29980)

* fix(web): project location keeps its machine name when the path truncates
@maria-rcks
maria-rcks force-pushed the maria/redesign/2-composer-timeline branch from 9652e22 to e908088 Compare November 4, 2026 06:07
@macroscopeapp
macroscopeapp Bot dismissed their stale review November 4, 2026 08:01

Dismissing prior approval to re-evaluate 633a668

@github-actions github-actions Bot added size:XXL 1,000+ changed lines (additions + deletions). and removed size:S 10-29 changed lines (additions + deletions). labels Nov 4, 2026
@maria-rcks
maria-rcks force-pushed the maria/redesign/2-composer-timeline branch from e908088 to 80cc977 Compare November 5, 2026 01:04
@maria-rcks
maria-rcks merged commit bd30925 into pingdotgg:maria/redesign/2-composer-timeline Nov 5, 2026
16 of 17 checks passed
@github-actions github-actions Bot added size:S 10-29 changed lines (additions + deletions). and removed size:XXL 1,000+ changed lines (additions + deletions). labels Nov 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:S 10-29 changed lines (additions + deletions). vouch:trusted PR author is trusted by repo permissions or the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants