You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The fresh-launch version-mismatch path now carries a bespoke ~500-line animated terminal application plus renderer ownership handoff for a startup gap described as lasting up to roughly five seconds.
packages/cli/src/services/update-preflight.tsx now owns stage floors, timed transitions, spring motion, glow ramps, character cells, custom fades/sweeps, settlement races, renderer teardown, and renderer transfer. packages/tui/src/app.tsx accepts the transferred renderer and removes the preflight after first paint.
This is a large independent lifecycle and rendering surface for a rare transitional state. It also couples CLI service replacement to TUI renderer internals.
Direction
Prefer one startup ownership path:
render a plain status through the normal TUI startup/loading surface, or
keep the preflight to one stable status line and destroy it before ordinary TUI startup.
If renderer transfer is genuinely required elsewhere, first make it a small general lifecycle primitive rather than embedding it in update-specific animation code.
Acceptance
Preserve clear feedback during version-mismatch replacement and a readable failure.
Remove update-specific cell-transition/spring/rail machinery and artificial stage holds.
Keep renderer ownership and teardown in one obvious place.
Avoid coupling service replacement stages to a second miniature TUI.
Closing as invalid. The automated slop review misclassified an intentional, frequently exercised product experience as a rare edge case. The public citation has been retracted.
Activity
opencode-agent commentedon Jul 12, 2026
Closing as invalid. The automated slop review misclassified an intentional, frequently exercised product experience as a rare edge case. The public citation has been retracted.