Show fetch status spinners in mirror create wizard · Entire

Show fetch status spinners in mirror create wizard

d73f27a→main·

toothbrush·3w ago·1 file·+6 added/-0 removed

Display "Fetching available repos" and "Fetching regions" spinners before each picker so the network pause isn't a blank screen.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

Sessions

d5dc5f40492bView transcript

[?
Interactive Repo Mirror Onboarding WizardClaude Code·Opus 4.8[1m]·2 steps](/content/gh/entireio/cli/session/b1f77cad-1b19-4ba8-bc01-a412c9c54e2a#timeline-d5dc5f40492b/index.html)

Changes

1

226 unmodified lines

227
228
229
230
231
232
233
234
235
236
237
238
239
6 unmodified lines

246
247
248
249
250
251
252
253
254
255
256
257
258

226 unmodified lines

}

// --- pick repos ---------------------------------------------------------
    stopRepos := startSpinner(errW, "Fetching available repos")
    avail, err := client.ListAvailableMirrors(ctx, coreapi.ListAvailableMirrorsParams{})
    if err != nil {
        stopRepos(false)
        return renderCoreError(err)
    }
    stopRepos(true)
    repos := selectableAvailableRepos(avail.Available)
    if len(repos) == 0 {
        fmt.Fprintln(errW, "No GitHub repos available to mirror (you need write access to a repo that isn't mirrored yet).")
    6 unmodified lines

}

// --- pick regions -------------------------------------------------------
    stopRegions := startSpinner(errW, "Fetching regions")
    regions, err := availableRegions(ctx, client)
    if err != nil {
        stopRegions(false)
        return fmt.Errorf("list regions: %w", err)
    }
    stopRegions(true)
    if len(regions) == 0 {
        return errors.New("no regions available to mirror into")
    }

Mcmd/entire/cli/repo_mirror_create_wizard.go+6