Onboarding#440
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📋 PR Overview
🔬 Coverage
|
|
cooper (@czxtm) — can you check whether the branch is in the intended state? If this is a work-in-progress onboarding rewrite, it may need to be rebased against [Automated triage — Claude] Generated by Claude Code |
Server-brokered GitHub App flow for the "Import Flake" step: the desktop opens the App install, polls account linkage, lists the installation's repos, and clones the chosen repo with a short-lived, repo-scoped token minted by the nixmac server. The desktop never holds the App key or a long-lived token. - Rust: github_connect_start / github_status / github_list_repos / github_disconnect commands + github_import (token-authed clone via clone_repo_with_token). Calls signed /v1/github/* endpoints through the existing HMAC SyncClient; no new persisted device secret. - Specta types GithubConnectStart / GithubStatus / GithubRepo. - Frontend: tauriAPI.github namespace; github-source.tsx drives the real connect -> poll -> repo list -> token import flow (drops the simulated connect + MOCK_REPOS); Storybook harness mocks tauriAPI.github.*. - Server endpoint contract in docs/github-app-server-contract.md. Server endpoints are the remaining blocker for live use (App registered). Generated src/ipc/types.ts is intentionally left for a separate regen commit to avoid entangling unrelated type churn. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
a4fdfc3 to
c4f49bb
Compare
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |






Summary
Test Plan
Docs