MetaMask / MetaMask/metamask-mobile
[Rive][8.3.0] Verify wallet-home onboarding checklist (onboard_checklist_v07.riv) state-machine inputs
- Dominant language
- TypeScript
- Stars
- 3k
- Forks
- 1.7k
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 669
Description
Part of #33825. Sentry: [METAMASK-MOBILE-5TM4](https://metamask.sentry.io/issues/METAMASK-MOBILE-5TM4).
## Context
In 8.3.0, #33052 swapped the wallet-home onboarding checklist from `onboard_checklist_v05.riv` to a brand-new **`onboard_checklist_v07.riv`** export (180 KB → 1.2 MB), with the PR stating *"No state machine / artboard constant changes were required — the new files match the existing bindings"* (unverified). The earlier v06 alignment fix (#31042) was never on `main`. #32611 also memoization-refactored this component in 8.3.0 (may affect remount timing).
This is the exact class of bug that caused the original May outbreak: a name mismatch throws `StateMachineInputException`, which the native Rive layer never clears → `SIGSEGV`.
## What to check
- All three artboards (`01_Add_Funds`, `02_First_Trade`, `03_Notifications`) in `v07` expose state machine `State Machine 1` with **both** trigger inputs `Main` and `Outro`.
- Exact strings, **no trailing space** (original bug: `01`/`02` were missing `Main`; `03` had `"Outro "`).
- Names are fired at `app/components/UI/WalletHomeOnboardingSteps/WalletHomeOnboardingSteps.tsx:313` (`Main`) and `:459` (`Outro`); artboards from `walletHomeOnboardingChecklistRive.ts`.
- Confirm clean pause/teardown before unmount (see #31076 pattern) given the per-step `key` remount.
## Prior fix reference
- #31042 — "wallet home onboarding Rive crash on Android" (the previous time this exact issue was fixed)
## PRs / people (no-ping)
- v07 swap (#33052): author `wachunei`; reviewers `AndyMBridges`, `Matt561`
- memoization (#32611): author `wachunei`; reviewer `vinnyhoward`
- original fix (#31042): author `vinnyhoward`; reviewer `wachunei`
Contributor guide
Research direction
Inspect onboard_checklist_v07.riv alongside walletHomeOnboardingChecklistRive.ts and the Main and Outro call sites at app/components/UI/WalletHomeOnboardingSteps/WalletHomeOnboardingSteps.tsx:313 and :459. Compare teardown behavior with the #31076 pattern and verify all three artboards expose State Machine 1 with exact Main and Outro inputs and clean pause/teardown before unmount.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100