← Back to changelog

2026-06-04

Live preview that survives a cold start

The preview pane finds the dev server's real port, waits for it to actually serve, and self-heals across restarts.

The in-session live preview — your app running in a pane next to the chat as the agent builds it — got a reliability pass so it stops showing proxy errors before the dev server is up.

What changed

  • Finds the real port. Preview used to assume a fixed port and show "the container is not listening" whenever a dev script bound somewhere else — a CLI -p flag, a hard-coded listen, or a framework auto-bumping to the next free port. It now reads the port the dev server is actually listening on and exposes that one.
  • Waits for HTTP, not just an open socket. "Running" now means the dev server answered a real request — not merely that the port is open while the bundler is still compiling. Slow projects keep a calm "Starting…" state with boot logs instead of flashing a raw error page.
  • Self-heals. Preview re-detects its port on every poll, so it recovers across dev-server restarts and workspace wake-ups, and a stale "not listening" page the frame latched onto clears itself once the app is live.
  • No needless reloads. Switching to the Preview tab no longer reloads a healthy frame.

Why

A preview that flashes errors for the first thirty seconds reads as broken even when it isn't. Now it stays quiet until there's a real app to show.