Repository navigation
fix(web): finished and wake-up folds work like the live working fold - #30478
Merged
Conversation
…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
…edesign colors (pingdotgg#29207) Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
…it (pingdotgg#29984) * fix(web): leave the wake-up fold answer unchanged
…ingdotgg#29998) * fix(web): a running wake-up's streaming answer replaces the previous one below its fold
maria-rcks
force-pushed
the
maria/redesign/2-composer-timeline
branch
from
November 4, 2026 06:07
9652e22 to
e908088
Compare
# Conflicts: # apps/web/src/components/DiffPanel.tsx # apps/web/src/components/chat/QueuedRunsControl.tsx # apps/web/src/components/chat/V2ItemInspector.tsx # apps/web/src/components/usage/UsagePage.tsx
…ne' into takeover-30478 # Conflicts: # apps/web/src/components/chat/ChatComposer.tsx # apps/web/src/components/chat/MessagesTimeline.tsx # apps/web/src/components/chat/TimelineWorkGroupRows.tsx
macroscopeapp
Bot
dismissed
their stale review
November 4, 2026 08:04
Dismissing prior approval to re-evaluate 64d3774
maria-rcks
force-pushed
the
maria/redesign/2-composer-timeline
branch
from
November 5, 2026 01:04
e908088 to
80cc977
Compare
…ld-matches-working-fold
maria-rcks
merged commit Nov 5, 2026
d9f3eea
into
pingdotgg:maria/redesign/2-composer-timeline
1 check passed
SunkenInTime
pushed a commit
to SunkenInTime/t3code
that referenced
this pull request
Nov 5, 2026
SunkenInTime
pushed a commit
to SunkenInTime/t3code
that referenced
this pull request
Nov 5, 2026
SunkenInTime
pushed a commit
to SunkenInTime/t3code
that referenced
this pull request
Nov 5, 2026
SunkenInTime
pushed a commit
to SunkenInTime/t3code
that referenced
this pull request
Nov 5, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
🤖 Claude Opus 5.5 on behalf of Oliver
Fix for the redesign stack, targets layer 2 (#28840).
The live "Working for" fold and the finished "Worked for" fold are the same bar before and after a turn ends, but they behaved differently. The finished fold and the wake-ups fold had no caret. The live fold showed a caret and toggled even when its few rows already fit, so clicking it only flipped the caret. And if you had the live history open when the turn ended, it snapped shut.
Now all three folds follow one rule:
aria-expanded) while its history fits in the collapsed view. Once rows stream past that height, the caret fades in without moving the label. If the fold is open, it stays togglable. The finished fold already hides all its work, so it is togglable whenever it has work to show.Audit: live bar vs finished fold
oklab(0.633 0 0), label box 17.94px tallThe label typography row is measured, not read off the classes: computed styles in a 1000 px wide dark window, on layer 2 and on this branch, with no ancestor opacity, filter, mask or transform on either label. The live label can look larger next to the finished one, but the shared "Wor" glyphs are pixel-identical in both captures. The difference you see is the "g" descender in "Working".
Before / after
Replay only, 1000 × 900, light theme, 2×. The slow turn is a local, uncommitted transcript swap (14 echo steps, about 26 seconds).
Live overflow, expand/collapse, then finished fold hover and toggle — before (layer 2):
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/9478c6417e0f589e/before-toggle.mp4
After:
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/7b0fedb6e9b8c34d/after-toggle.mp4
Open history across turn completion — before (layer 2):
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/8a2c8044d8c42238/before-handoff.mp4
After:
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/5bd0fa9bd97fc7d4/after-handoff.mp4
The after history is opened once overflow enables its toggle; before that, it is inert.
Opening and closing the finished fold. The first open and close run at normal speed, the second is slowed 5×:
https://gh-file-drop-api-prod-galwoqjslzlnws6s.oliver-boorstein.workers.dev/f/65e580b5ae17acf2/finished-fold-fade.mp4
Label typography on this branch, same window and theme:
Validation
MessagesTimeline.browser.test.tsx: the live bar is not a toggle with 2 rows, becomes one at 30, and its open state carries into the finished fold. Fails on the layer, passes here. The whole file passes (50 tests).vp run check:changedagainst the layer: all pass.Made with Claude Opus 5.5 in Claude Code (T3 Code).
Takeover verification
merged current main and the updated redesign base without rebasing at
64d377469a. blacksmithvp run check:changedpasses format, lint, knip, 40 affected typechecks, 2,478 tests including 51 timeline browser tests, and compiler coverage. two independent source reviews approved the same head. all 33 check contexts completed without failures or pending checks; no conflicts or unresolved review threads.chrome replay verification passed finished-fold mouse, space, and enter toggles, reduced motion, and the 800px layout. real providers, native clients, and remote connections were not rerun in this pass.
verified by gpt-6.1-sol through the codex harness in t3 code.