Compare commits

..

1 Commits

Author SHA1 Message Date
ي
a0efdb5001 Fix onboarding loading gate for inactive subscriptions 2026-03-31 07:33:17 +05:30
2 changed files with 6 additions and 18 deletions

View File

@@ -105,21 +105,8 @@ JWT_SECRET_KEY=your_jwt_secret_key
# Monitoring # Monitoring
SENTRY_DSN=your_sentry_dsn SENTRY_DSN=your_sentry_dsn
# Podcast demo-mode switch (temporary testing flag)
# Enable demo-only podcast behavior:
PODCAST_ONLY_DEMO_MODE=true
# Full restore to normal behavior:
# PODCAST_ONLY_DEMO_MODE=false
# (or leave PODCAST_ONLY_DEMO_MODE unset)
``` ```
### Release Checklist (Demo-Mode Safety)
Before finalizing a release after demo testing, confirm:
- [ ] `PODCAST_ONLY_DEMO_MODE` is unset (or explicitly `false`) in production deployment config.
**Security Best Practices** **Security Best Practices**
- **Use Environment Variables**: Never hardcode sensitive data - **Use Environment Variables**: Never hardcode sensitive data
- **Rotate Keys Regularly**: Change API keys periodically - **Rotate Keys Regularly**: Change API keys periodically

View File

@@ -280,10 +280,11 @@ const InitialRouteHandler: React.FC = () => {
); );
} }
// Loading state - only wait for onboarding init, not subscription check // Only block on onboarding initialization once we know the user has an active subscription.
// Subscription check is non-blocking and happens in background // This allows no-subscription/inactive flows to continue even when onboarding data is still null.
const waitingForOnboardingInit = loading || !data; const isActiveSubscriber = Boolean(subscription && subscription.active && subscription.plan !== 'none');
if (loading || waitingForOnboardingInit) { const waitingForOnboardingInit = isActiveSubscriber && (loading || !data);
if (waitingForOnboardingInit) {
return ( return (
<Box <Box
display="flex" display="flex"
@@ -295,7 +296,7 @@ const InitialRouteHandler: React.FC = () => {
> >
<CircularProgress size={60} /> <CircularProgress size={60} />
<Typography variant="h6" color="textSecondary"> <Typography variant="h6" color="textSecondary">
{subscriptionLoading ? 'Checking subscription...' : 'Preparing your workspace...'} Preparing your workspace...
</Typography> </Typography>
</Box> </Box>
); );