anomalyco / anomalyco/opencode
[Desktop] Tool status title animates width on state swaps (small layout churn)
@Brendonovich is already working on this.
Since Sep 12, 2026.
- Dominant language
- TypeScript
- Stars
- 209k
- Forks
- 27.5k
- PR merge metrics
- PR metrics pending
Description
Description
ToolStatusTitle (the "Gathering context" → "Gathered context" label) writes an explicit pixel width during the text swap, and the CSS transitions that width over 480ms (packages/session-ui/src/components/tool-status-title.css:23). Each frame of that transition recalculates style and layout.
Removing just the width transition keeps the existing crossfade (opacity/filter/transform) and lets the width snap.
Measured in a real desktop instance (1.18.29, via CDP) forcing 125 swaps in 2s:
- before:
RecalcStyleDuration +0.081s,LayoutDuration +0.005s - after:
0.000s/0.000s
Real-world frequency is low (roughly once per turn, when the context group label flips), so this is a small cleanup rather than a big win. No rest-state visual change.
Plugins
none
OpenCode version
OpenCode Desktop 1.18.29
Steps to reproduce
- Open a session and run a turn that gathers context (file reads/searches)
- Watch the "Gathering context" label swap to "Gathered context"
- In DevTools Performance, style/layout recalculation runs every frame during the 480ms swap
Screenshot and/or share link
No screenshot — no visual difference at rest.
Operating System
CachyOS (Arch Linux), KDE Plasma 6.7.5, Wayland
Terminal
n/a (desktop app)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.