diff --git a/packages/cli/src/doctor.ts b/packages/cli/src/doctor.ts index ad310c3..010633d 100644 --- a/packages/cli/src/doctor.ts +++ b/packages/cli/src/doctor.ts @@ -103,6 +103,10 @@ export async function doctorCommand(opts: { config?: string; setup?: boolean } = // seeds + signs in for real (#19). if (opts.setup) { if (config) { + // Progress line: the probe runs the adapter's real setup, so it's bounded + // by the adapter's own waits (e.g. a 30s waitForURL on sign-in) and can + // take a while on the failure path — say so rather than looking hung. + console.log('… running adapter.setup (bounded by your adapter\'s own timeouts)'); try { await probeAdapterSetup(config.adapter); checks.push({ name: 'adapter.setup', ok: true, detail: 'ran and tore down cleanly' }); diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts index 3dedf56..539ea0b 100644 --- a/packages/core/src/types.ts +++ b/packages/core/src/types.ts @@ -70,7 +70,8 @@ export interface Step { * `startTransition`-deferred Server Action dispatches its request, settling on * the pre-mutation UI. For the standard `startTransition` + Server Action + * `router.refresh()` pattern, prefer `waitFor` on the committed UI (the value - * flipping, a toast appearing) — see docs/writing-tutorials.md "Settling". + * flipping, a toast appearing) — see the "Settling" guide: + * https://github.com/jbrecht/tutorial-forge/blob/main/docs/writing-tutorials.md#settling-waitfor-vs-settleuntil-vs-settlems */ settleUntil?: 'load' | 'domcontentloaded' | 'networkidle'; /** Extra hold time (ms) after both narration and action complete. Default 400. */