Skip to content

Add gated ChatGPT sign-in and explicit account linking - #49

Draft
tmcfarlane wants to merge 3 commits into
v0.8from
codex/chatgpt-sign-in
Draft

tmcfarlane wants to merge 3 commits into
v0.8from
codex/chatgpt-sign-in

Conversation

@tmcfarlane

@tmcfarlane tmcfarlane commented Oct 2, 2026 •

Copy link
Copy Markdown
Owner

The connector page only explains how ChatGPT accesses ZeroBoard; it does not let someone use their ChatGPT identity to sign in. This adds a gated Continue with ChatGPT action and an explicit Link ChatGPT account action on Account, using the existing Supabase session and board ownership.

The feature stays off by default. This draft targets v0.8 and does not enable a provider or production flag. Native SDK requests use the fixed custom:chatgpt OIDC provider and openid profile; pending/stale auth attempts, callback cancellation and identity collisions receive safe feedback. Existing accounts link while signed in, and linked status comes from their native identity record.

Enablement requirements

Actual OpenAI authentication remains unverified. OpenAI website sign-in requires an approved client. The native path also needs compatible token authentication and an enforced claim/account-linking policy: Supabase automatically links matching email during anonymous OAuth, and caller-supplied scopes can override defaults. Frontend scope omission is insufficient. Keep the provider and flag off until the server/client boundary and actual callback/account preservation pass the conditional setup guide.

Also verify no-email new-user profile creation before enablement: the legacy schema requires a profile email, while generated types and the catalog-derived trigger fixture allow null. Actual deployed nullability and trigger behavior were not verified; no fallback email or speculative schema migration is included.

Validation

Published head: 88072d9e2336cc6788fd4deb619f247d953faad9; integrated base: 4879f7e2aaf7f45fcdea6dad2b2ac2ecc2b54c48.

  • At published head: all 152 focused auth, sign-out, installed SDK and board-sync tests passed locally, and ESLint passed. GitHub CI passed all 1,044 unit tests in 50 files, 17 existing E2E tests, lint/typecheck/build and MCP Node 20/22 jobs. Both complete sign-in browser modes passed, as did the connector suite (220 passed, 2 skipped). All PR checks are green.
  • Compiled desktop/mobile fixtures: 14 enabled stories passed across the initial run and a test-only URL assertion correction; disabled mode passed 8 with 6 intentional enabled-only skips. Both complete modes run again in the new CI workflow.
  • Initial full local suite failed (959 passed, 23 failed). The later full run was stopped after fixture/UI timeouts. A missing auth.initialize board-sync mock was repaired with three mock-only lines; its 70 cases passed. Neither full attempt is presented as a passing full gate.
  • Review evidence and limits include the failure history. The final-head local reruns and main CI run, sign-in UI run, and connector UI run are complete. Standard PR checkout used synthetic merge cdf2d9c2867789f92ecfa76d373c8750d73e3a9f; its tree equals the published head tree (e3cb2372c72ff264b789982c5e58e87c0c9391ee), with the stated base already an ancestor.

Screenshots below are offline compiled fixtures, not a live OpenAI login. All fixture service requests are intercepted and no real account credentials are used.

Desktop sign-in Mobile sign-in
Desktop sign-in Mobile sign-in

Explicit account linking

@vercel

vercel Bot commented Oct 2, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
zeroclickboards Ready Ready Preview Oct 2, 2026 4:02pm UTC

This branch was successfully deployed

1 active deployment
Preview — 88072d9e Deployed Oct 2, 2026 by vercel[bot]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant