feat(ui): add the self-serve signup entry surface#7402
Conversation
|
🚨 Contributor flagged. Click here for more info: Superagent Dashboard |
|
Superagent didn't find any vulnerabilities or security issues in this PR. |
|
Caution 🛑 LoopOver review result - reject/close recommendedReview updated: 2026-07-20 06:42:08 UTC
Review summary Nits — 6 non-blocking
Why this is blocked
📋 Copy for AI agents — paste into your coding agentFlagged checks (non-blocking)
Decision drivers
Context & advisory signals — never blocks the verdict
Review context
Contributor next steps
Signal definitions
🧪 Chat with LoopOverAsk LoopOver a question about this PR directly in a comment — grounded only in the same cached, public-safe facts shown above, never a new claim.
Full command reference: https://loopover.ai/docs/loopover-commands 🧪 Experimental — new and may change. Visual previewClick any thumbnail to open the full-size screenshot. Before = production · After = this PR's preview deploy. Scroll preview
A short scroll-through clip (desktop) — click either thumbnail to open the full animation. Evidence for scroll-linked behavior a single screenshot can't show. 🟩 Safe / merged · 🟦 Advisory · 🟨 Held for review · 🟥 Blocked / closed 💰 Earn for open-source contributions like this. Gittensor lets GitHub contributors earn for the work they already do — register to start earning →. Checked by LoopOver, a quiet PR intelligence layer for OSS maintainers.
|
|
LoopOver is closing this pull request on the maintainer's behalf (Linked issue overlaps another open PR; duplicate of open PR #7401). This is an automated maintenance action — to pursue this change, please open a new pull request with the issues resolved. Closed PRs may be analyzed later to improve review accuracy, but they are not automatically reopened or re-reviewed. |








What
Adds the signup entry surface to the self-serve install flow — a new
/signuproute that is the first step (“Sign up”) of the signup → install → confirm flow described in #4802. The/installflow already describes “Sign up” as step 1 but had no dedicated page for it; this is that page.This is a scoped slice of #4802, complementing the existing
/installentry surface (#7203). It does not touch the/installfiles — it is a standalone top-level route.Details
/signup(signup.tsx) explains the GitHub-backed account model and starts the real GitHub OAuth flow viauseSession().signIn()(which redirects to/v1/auth/github/start) — the same mechanism the rest of the app authenticates with. There is no fabricated credential form: identity is GitHub’s, matching howapp-shell.tsx’s signed-out state works. The primary CTA (“Continue with GitHub”) shows a starting/disabled state while sign-in is in flight and surfaces an auth error if one occurs./install.Built on the shared design-system primitives (
Section,Card,Callout,Eyebrow, design tokens) per the issue’s design-system boundary. Reads no secrets; fabricates no session.Validation
npm run ui:typecheck,npm run ui:lint— pass.signup.test.tsx(5 tests, all passing) covers: the three account points render, the CTA calls the realsignIn()(and asserts no password field is present), the starting/disabled state, the auth-error surface, and the onward/installlink.git diff --checkclean; the diff is exactlysignup.tsx,signup.test.tsx, and therouteTree.gen.tsaddition of the one new route (no doc/openapi churn).UI Evidence
/signupis a new route, so before is the app’s Not-Found state at that path and after is the new page. loopover-ui is a dark-mode-only build (theme-toggle.tsx— the toggle was removed and there is no light theme to force), so Dark is the only theme dimension; each viewport is shown below./signup)Closes #4802