Skip to content

fix(web): clean up composer resize animation - #5

Merged
rynfar merged 1 commit into
pylonfrom
upstream/2026-08-12-composer-resize
Aug 11, 2026
Merged

fix(web): clean up composer resize animation#5
rynfar merged 1 commit into
pylonfrom
upstream/2026-08-12-composer-resize

Conversation

@rynfar

@rynfar rynfar commented Aug 11, 2026

Copy link
Copy Markdown
Collaborator

Reworks the composer context strip's expand/collapse so widths are recomputed on every pass instead of latching remembered values that could go stale, and animates the controls through the Web Animations API at a fixed 180ms.

Cherry-picked from upstream c196f422ed387a1cc2cdb671b0472782e5610339 (pingdotgg/t3code#6209).

Fits Pylon's motion rules: the animation is a discrete, bounded transition rather than a continuous repaint, and it early-returns on prefers-reduced-motion: reduce.

Conflict resolved Pylon-first

BranchToolbar.tsx conflicted structurally, because upstream and Pylon lay the strip out differently:

  • Upstream moves the branch selector out of the left group and pushes it right (min-w-0 flex-1 justify-end md:ml-auto md:flex-none).
  • Pylon deliberately keeps it in the left run beside the workspace controls (min-w-0 justify-start, adopted as E16 / #5555), because they describe the same thing — where the thread's work happens — while Usage sits opposite.

Pylon's layout was kept and only upstream's animation machinery was taken: the data-composer-context-control markers, the strip's overflow-x-clip overflow-y-visible, and the motion constants. Verified after resolution that upstream's justify-end md:ml-auto did not sneak back in and that ComposerUsageIndicator's ml-auto placement survived. Added a comment at the divergence so the next merge does not silently undo it.

Verification

  • BranchToolbar tests pass (56)
  • Web typecheck, lint, and format clean across all 4 changed files

Model: Claude Opus 5 (1M context). Harness: Claude Code.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith with what you need. Autofix is disabled.

(cherry picked from commit c196f422ed387a1cc2cdb671b0472782e5610339)
@github-actions github-actions Bot added vouch:trusted PR author is trusted by repo permissions or the VOUCHED list. size:L labels Aug 11, 2026
@github-actions

Copy link
Copy Markdown

Thread transfer impact

✅ Thread transfer remains within every enforced ceiling.

Provider Metric Main baseline This PR Impact PR ceiling
Codex Total thread wire 11.3 KiB 11.3 KiB +21 B (+0.2%) 15.1 KiB
Codex Thread snapshot wire 5.5 KiB 5.5 KiB −1 B (−0.0%) 7.3 KiB
Codex Live turn WebSocket wire 5.8 KiB 5.9 KiB +22 B (+0.4%) 7.8 KiB
Codex Live turn WebSocket decoded 49.7 KiB 49.7 KiB 0 B (0.0%) 66.4 KiB
Codex Live turn messages 16 16 0 (0.0%) 21
Claude Total thread wire 11.4 KiB 11.3 KiB −2 B (−0.0%) 15.1 KiB
Claude Thread snapshot wire 5.5 KiB 5.5 KiB +1 B (+0.0%) 7.3 KiB
Claude Live turn WebSocket wire 5.9 KiB 5.9 KiB −3 B (−0.1%) 7.8 KiB
Claude Live turn WebSocket decoded 50.6 KiB 50.6 KiB 0 B (0.0%) 66.4 KiB
Claude Live turn messages 16 16 0 (0.0%) 21

Baseline: 0df9a9e · PR result: 7b2adaf · Source CI: success

Scenario and decoded snapshot size

10 historical turns, 5 command tools per turn, 878.9 KiB retained MCP result per historical turn, and a 1.05 MiB retained result in the measured turn.

  • Codex decoded thread snapshot: 94.6 KiB
  • Claude decoded thread snapshot: 95.4 KiB

Updated in place by a trusted workflow. PR artifacts are strictly validated and never executed.

@rynfar
rynfar merged commit 8468857 into pylon Aug 11, 2026
11 checks passed
@rynfar
rynfar deleted the upstream/2026-08-12-composer-resize branch August 11, 2026 22:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:L 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.

2 participants