fix: stop rive before navigate#31076
Conversation
|
CLA Signature Action: All authors have signed the CLA. You may need to manually re-run the blocking PR check if it doesn't pass in a few minutes. |
🔍 Smart E2E Test Selection
click to see 🤖 AI reasoning detailsE2E Test Selection:
SmokeSeedlessOnboarding is the primary tag because:
SmokeWalletPlatform is included because:
Other tags (SmokeAccounts, SmokeIdentity) are not selected because the changes are purely UI/animation changes in the onboarding flow, not affecting account management logic or sync functionality. Performance Test Selection: |
Description
Social login (seedless) onboarding can crash or glitch on Android when the fox Rive loader on Choose Password keeps running while React Navigation transitions to Onboarding Success. A prior workaround skipped the success-screen Rive animation on Android for seedless flows; that hid the crash but removed the intended celebration animation.
This PR:
FoxRiveLoaderAnimationexposesstopviaforwardRef/useImperativeHandle, and Choose Password calls it after wallet creation succeeds and beforehandlePostWalletCreationnavigates away.OnboardingSuccessEndAnimationfor seedless onboarding on Android — removes theshouldSkipSuccessAnimationguard now that the loading animation is torn down cleanly first.Changelog
CHANGELOG entry: Fixed a crash during social login onboarding when completing wallet creation
Related issues
Fixes:
Manual testing steps
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist
Note
Low Risk
Targeted onboarding UI lifecycle changes with tests; no auth, keyring, or payment logic changes.
Overview
Fixes Android seedless onboarding crashes/glitching when the Choose Password fox Rive loader keeps running during navigation to Onboarding Success.
FoxRiveLoaderAnimationis refactored withforwardRefand exposesstopviauseImperativeHandle(typed asFoxRiveLoaderAnimationRef). Choose Password holds a ref and callsfoxRiveLoaderRef.current?.stop()after wallet creation succeeds and beforehandlePostWalletCreationnavigates away.The prior Android workaround that skipped
OnboardingSuccessEndAnimationfor seedless flows is removed, so the success-screen Rive plays again once the loader is stopped cleanly. Mocks and unit tests cover ref forwarding and the updated success-screen behavior.Reviewed by Cursor Bugbot for commit b754ba5. Bugbot is set up for automated code reviews on this repo. Configure here.