The startPreview mutation blocks server-side through the entire Docker build + health check + seed cycle. isPending was checked first, so even after polling detected containers running, the UI stayed on "Building..." until the full mutation resolved. Now polled status (running/failed) takes priority, falling back to isPending only when no status exists.