Commit f3c1b4a
feat: magic-link-first auth flow (#77)
* docs: add design spec for magic-link-first auth flow
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: add implementation plan for magic-link-first auth flow
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* test: add AuthFlow tests for magic-link-first redesign
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: redesign AuthFlow to magic-link-first
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* test: add AuthCallback tests
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add AuthCallback component for magic link redirects
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* test: add PasswordUpdate tests
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add PasswordUpdate component for settings
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add password management to Settings
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: export AuthCallback and PasswordUpdate from supabase
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: update AuthFlow stories for magic-link-first design
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: update demo app with magic link auth callback
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: remove unused vi import from AuthFlow tests
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: AuthCallback race condition + update docs
- Fix race condition where AuthCallback misses SIGNED_IN if
SupabaseProvider already processed the magic link tokens
- Stabilize callback refs to avoid effect re-runs
- Update Supabase.mdx with magic link auth flow docs
- Remove boilerplate file comments
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* feat: add Supabase config with custom email templates
Initialize supabase/config.toml and add branded HTML email
templates for magic link sign-in and email confirmation.
Update Supabase.mdx with deployment instructions.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: align config.toml with production Supabase settings
Restore site_url, redirect_urls, email confirmations, MFA TOTP,
OTP length, and email frequency to match the hosted project.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* chore: add supabase .gitignore
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* fix: address CodeRabbit review comments
- Fix AuthCallback timeout not cancelled after SIGNED_IN event
- Use document.baseURI for demo callback URLs (fixes basename hosting)
- Disable screen-switch buttons during auth submission
- Harden pre-fill test with password screen assertion
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
* docs: update plan with portable paths and reviewed code fixes
- Replace hardcoded absolute paths with repo-relative commands
- Update AuthCallback code with settled flag and race condition fix
- Update AuthFlow code with disabled buttons during submit
- Update test with password assertion for pre-fill check
- Update demo code with document.baseURI for basename support
- Remove unused vi import from test code
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent e5cf075 commit f3c1b4a
18 files changed
Lines changed: 2042 additions & 97 deletions
File tree
- demo/src
- docs/superpowers
- plans
- specs
- lib/supabase
- supabase
- templates
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
6 | 6 | | |
7 | 7 | | |
8 | 8 | | |
| 9 | + | |
9 | 10 | | |
10 | 11 | | |
11 | 12 | | |
| |||
22 | 23 | | |
23 | 24 | | |
24 | 25 | | |
25 | | - | |
| 26 | + | |
26 | 27 | | |
27 | 28 | | |
28 | 29 | | |
| |||
46 | 47 | | |
47 | 48 | | |
48 | 49 | | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
49 | 53 | | |
50 | | - | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
51 | 58 | | |
52 | 59 | | |
53 | 60 | | |
| |||
77 | 84 | | |
78 | 85 | | |
79 | 86 | | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
80 | 96 | | |
81 | 97 | | |
82 | 98 | | |
| |||
126 | 142 | | |
127 | 143 | | |
128 | 144 | | |
129 | | - | |
| 145 | + | |
130 | 146 | | |
131 | 147 | | |
132 | 148 | | |
| |||
0 commit comments