Skip to content

fix(ux): eliminate infinite loading spinners + fix CSP headers#152

Closed
wydrox wants to merge 1 commit into
mainfrom
fix/csp-headers
Closed

fix(ux): eliminate infinite loading spinners + fix CSP headers#152
wydrox wants to merge 1 commit into
mainfrom
fix/csp-headers

Conversation

@wydrox

@wydrox wydrox commented Apr 12, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add missing domains to CSP connect-src: api.workos.com, docs.openping.app, *.sentry.io
  • Add fonts.googleapis.com to style-src and fonts.gstatic.com to font-src
  • Fix infinite loading spinners across the app

Why

Production CSP was blocking api.workos.com and Google Fonts — causing silent failures in RSC client-side navigation and auth flows. Discovered via automated browser testing.

Test plan

  • Verify app loads without CSP errors in browser console
  • Verify auth flow works (sign-in redirects to WorkOS/Google correctly)
  • Verify Google Fonts load
  • Verify no infinite loading spinners

🤖 Generated with Claude Code

Users with incomplete WorkOS registration had valid session cookies but
no Convex records, causing infinite spinners with no escape. This adds
timeout-based error states with Retry/Sign out across all loading screens.

Key changes:
- WorkspaceRedirect: retry ensureUser() up to 3x with backoff, show error
- Dashboard layout: redirect Unauthenticated to sign-in instead of spinner
- All page-level loading states: 12-15s timeout with error fallback
- CSP: add WorkOS, Google Fonts, Sentry, docs domains

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@vercel

vercel Bot commented Apr 12, 2026

Copy link
Copy Markdown

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

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
open-ping Ignored Ignored Preview Apr 12, 2026 4:15pm

Request Review

@wydrox

wydrox commented Apr 12, 2026

Copy link
Copy Markdown
Contributor Author

Closing — branch policy requires source to be preview. Will merge via preview instead.

@wydrox wydrox closed this Apr 12, 2026
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