Cloud: sign in inline and resume first send

TE
1h ago
+510-28

The first Cloud prompt currently fails with not_signed_in and leaves recovery in Settings > Accounts. This adds Sign in to continue beside that failed send. The prompt remains visible and in the composer; completing browser sign-in automatically starts Cloud with the original prompt, attachments, agent/model, folder, environment, and idempotency key.

The shared web recovery controller shares one in-flight request and prevents a second successful retry. The native cloud.signIn route forwards the validated start through the existing Cloud-start hold, reserves its click before awaiting the existing account sign-in flow, and resumes only that request after the callback. Cancelling auth sends nothing and releases the hold for another attempt. This follows #34104's inline refusal-recovery shape without changing paid-plan recovery.

Gallery: agent-pane.cloud-start → signed-out. Design context: manaflow-ai/cmuxterm-hq#6703. The private design-reference checkout was unavailable on this host; the action uses the existing Cloud-start card.

Validation for 7ad2f78279c460b3f111ff70c0fcbd4ea3c4941f:

  • Focused web tests, TypeScript, and formatter check: CloudStartView.test.tsx, cloudRun.test.ts, and cloudStartProgress.test.ts: 45 passed, 0 failed. These cover the actual signed-out gallery fixture, preserved payload, concurrent clicks, and exactly-once recovery. vp check --no-fmt --no-lint and vp fmt --check passed. The remote receipt confirms tested_sha=7ad2f78279c460b3f111ff70c0fcbd4ea3c4941f.
  • AgentPaneCloudStartTests: all 15 passed, including authorization before auth, no scripted sign-in, one start, and cancellation recovery. Fleet step 8b234ad8eaf209df4e4653f8.
  • App compile check passed, job 27b32ea88723314bff553e70.
  • Native suite and app compile ran at cdc27173edcf615515ff66fc97eed6757e51c0eb; the final commit only formats web code and validates the gallery fixture. Native sources and tests are identical.

Base warnings (the same named findings were replayed on base):

  • check:design-tokens: pages/changelog/updateSurfaces.css, margin-top: 2px, introduced in #34477. The CI base replay confirms this exact finding on base de82e16a37a9ada36bbc6f55b59bdcb7fd4cf083.
  • Chromium Objective-C contract: the reviewed engine version/hash do not match the pin. A direct replay confirms the same two failures on base b7c9441d175202ac92f0548d4e5f9fdf8e259702.

Risk: the new bridge route holds the existing start authorization while the browser callback is pending. Concurrent starts stay refused by the existing native hold; cancellation releases it.

Changelog

Fixed: Sign in from the first Cloud send and resume the preserved prompt automatically.

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"

šŸ¤– Generated with Codex

Agent session: agent session