release: UX polish fixes to production - #208
Conversation
When anonymous users triggered the sign-in modal via gated features like session_limit, algorithm_lock, or category_controls, the modal stayed open after successful Google authentication because those trigger paths did not set pendingFeatureRef.current. The auto-close effect now unconditionally dismisses the modal when isAuthenticated becomes true, while still auto-opening the pending feature (sound, fullscreen, export, code, insight) when one was set.
…r link Migrate waitlist banner dismissal and enrollment flags from sessionStorage to localStorage so they persist across browser sessions. Users who dismissed the banner or joined the waitlist will no longer see it reappear after closing the tab. Also adds a 'Pro Plan' link in the footer bottom bar alongside Privacy Policy and Terms of Use, giving users a persistent way to navigate to the /pro page. - waitlistService: persistWaitlistEmail/readStoredWaitlistEmail now use localStorage with sessionStorage migration fallback - ProWaitlistBanner: dismissal flag reads/writes to localStorage with sessionStorage migration fallback - Footer: new 'Pro Plan' link in bottom bar (en/fr/ar) - Tests: updated assertions to localStorage, added migration fallback tests for both banner and service
When an authenticated user visits the landing page, the auth hydration window briefly shows a pulsing skeleton circle in the header before hideAvatar hides it. Adding !hideAvatar to the skeleton condition prevents this flash on pages that don't display the avatar.
…fter-auth fix: three UX polish fixes — modal auto-close, waitlist persistence, skeleton flash
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Contribution workflow
main: This PR targetsmainfor production release.Description
Merge UX polish fixes from
developintomainfor production release. Four targeted fixes that improve user experience across authentication, navigation, and landing page.Type of Change
Related Issues
Fixes # (addressed via PR #207 review feedback)
Changes Made
isAuthenticatedbecomes true, not just when a gated feature was pendingsessionStoragetolocalStoragewith migration fallback; added/profooter link with i18n support (en/fr/ar)hideAvatarcondition to prevent brief skeleton shimmer when auth state resolves on first loadmotion.buttonwith semantic<Link>for the Pro Plan footer link; addedsessionStoragefallback inwaitlistServiceandProWaitlistBannerwhenlocalStorageis unavailable (private browsing, quota exceeded)Testing
pnpm test:run)Test Results
Code Quality
pnpm lint)Performance Impact
Breaking Changes
Checklist
Additional Notes
This is a fast-track production release of UX polish fixes that have already been validated on
develop. All 4 commits have passed CI and been deployed to dev.bayanflow.com via Cloudflare Workers.