Skip to content

fix: graceful auth callback for PKCE timeout - #371

Merged
vincentgrobler merged 1 commit into
mainfrom
fix/auth-callback-timeout
Apr 23, 2026
Merged

fix: graceful auth callback for PKCE timeout#371
vincentgrobler merged 1 commit into
mainfrom
fix/auth-callback-timeout

Conversation

@vincentgrobler

@vincentgrobler vincentgrobler commented Apr 23, 2026

Copy link
Copy Markdown
Collaborator

Description

When email verification link opens in a different browser context, the PKCE code verifier is missing and onAuthStateChange never fires.

Before: showed 'Authentication timed out' error with a plain text link. After:

  • First checks if user is already authenticated → auto-redirects
  • If not, shows 'Email verified!' success screen with branded Sign In button
  • Error state with proper icon and messaging as fallback
  • Uses brand-primary styled buttons and lucide icons

Related Issue

Type of Change

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that would cause existing functionality to change)
  • 📝 Documentation update
  • ♻️ Refactor (no functional changes)
  • 🧪 Test update

How Has This Been Tested?

  • Unit tests
  • Manual testing
  • Browser testing (specify browsers)

Screenshots (if applicable)

Checklist

  • My code follows the project's coding standards
  • I have run npm run lint and there are no errors
  • I have run npm run test and all tests pass
  • I have added tests for my changes (if applicable)
  • I have updated the documentation (if applicable)
  • My source files have AGPL licence headers
  • My changes generate no new TypeScript errors

@vercel

vercel Bot commented Apr 23, 2026

Copy link
Copy Markdown

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

Project Deployment Actions Updated (UTC)
crewform Ready Ready Preview, Comment Apr 23, 2026 0:16am

When email verification link opens in a different browser context,
the PKCE code verifier is missing and onAuthStateChange never fires.

Before: showed 'Authentication timed out' error with a plain text link.
After:
- First checks if user is already authenticated → auto-redirects
- If not, shows 'Email verified!' success screen with branded Sign In button
- Error state with proper icon and messaging as fallback
- Uses brand-primary styled buttons and lucide icons
@vincentgrobler
vincentgrobler force-pushed the fix/auth-callback-timeout branch from 1a8a0e1 to 78fde78 Compare April 23, 2026 12:16
@vincentgrobler
vincentgrobler merged commit 7d6ef74 into main Apr 23, 2026
8 checks passed
@vincentgrobler
vincentgrobler deleted the fix/auth-callback-timeout branch April 23, 2026 12:20
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