feat(cloud): show chat shell during startup

Merged
TE
3d ago
+281-73

Cloud chat shell during startup

On Send, Cloud now shows the user's message immediately in a stable chat shell with one compact Preparing machine status line. The startup checklist and machine facts sit behind a disclosure, which opens automatically when a step fails. When the remote harness is ready, the shell shows the ready state before the live transcript handoff; the existing serialized start and native seed keep the first message exactly once.

Before, the Cloud tab showed a multi-row infrastructure checklist while the start chain ran and the message waited for the remote chat. After, the message is visible immediately, startup detail is opt-in during a healthy start, and failure detail is immediately available.

Gallery variants cover preparing, ready, and failed-with-details-open states. The focused Cloud start test covers the first message being serialized exactly once across the handoff. New Tab coverage verifies the composer keeps its space while startup is active and restores one retry send after failure. Healthy and failed disclosure interactions are covered.

Leo: "the user acquisition has to come, and it has to come FAST aka we need it to work well feel good all that which is gonna entail far more work on the parts people actually see and feel vs the bean counting"

Tests run:

  • cmux-ci test -- bun test src/agent-session/acpmux/CloudStartView.test.tsx src/agent-session/acpmux/cloudStartProgress.test.ts src/agent-session/acpmux/cloudRun.test.ts src/agent-session/acpmux/newtab/NewTabScreen.test.tsx — 80 passed, 0 failed (run 41759552740, head 37d691c24aed2ebe76e38fbc30094dd9af50cfc4).
  • cmux-ci test -- bun run check — typecheck, lint, catalog, protocol, and static checks completed; fast-gates reports the same base reds for check:design-tokens and typecheck, with no added failures.
  • vp fmt --check passes for App.tsx, CloudStartView.tsx, and CloudStartView.test.tsx.

Gallery references: Cloud start shell variants in CloudStartView.gallery.tsx (preparing, ready, failed details open).

šŸ¤– Generated with Codex

Agent session: agent session