Repository navigation
feat(card): patch react-native-wallet with merged Apple Wallet APIs - #37534
Conversation
Replace the 0.1.24 patch-package file with a Yarn patch of fork 0.1.41 that includes primary account identifiers, pass listing, and in-app activation.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning MetaMask internal reviewing guidelines:
|
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 8b8df8e. Configure here.
|
|
| Platform | Device | Reason | Recording |
|---|---|---|---|
| Android | Google Pixel 8 Pro (v14.0) | no_performance_metrics | 📹 Watch |
🔬 App profiling check · Current run 38449686060 · Baseline (last green on main) run 38394791567 @ 29f5440
Summary:
ℹ️ API calls unavailable:
Network logs API error: Bad Request
Full metric table (+10% variance rules)
Disclaimer — allowed variance: a +10% margin over the baseline is permitted.
- If
Current <= Baseline + 10%, treated as acceptable noise.- If
Current > Baseline + 10%, Current and variance % are highlighted with⚠️ .
| Metric | Baseline | Current | Δ |
|---|---|---|---|
| CPU avg | 5.69% | 5.25% | -0.44 (-7.7%) |
| CPU max | 21.79% | 20.45% | -1.34 (-6.1%) |
| Memory avg | 667.6 MB | 718.91 MB | +51.31 (+7.7%) |
| Memory max | 767.17 MB | 793.05 MB | +25.88 (+3.4%) |
| Slow frames | 6.84% | 27.1% | +20.26 (+296.2%) |
| Frozen frames | 0% | 0% | 0 (0%) |
| ANRs | 0 | 0 | 0 (0%) |
| Issues | 2 | 3 | +1 (+50%) |
| Critical issues | 2 | 1 | -1 (-50%) |
| App size | 402.76 MB | 402.82 MB | +0.06 (+0%) |
Seedless Onboarding: Apple Login New User
| Platform | Device | Reason | Recording |
|---|---|---|---|
| Android | Google Pixel 8 Pro (v14.0) | Timed out | — |
Seedless Onboarding: Google Login New User
| Platform | Device | Reason | Recording |
|---|---|---|---|
| Android | Google Pixel 8 Pro (v14.0) | Timed out | — |
Seedless Onboarding: Telegram Login New User
| Platform | Device | Reason | Recording |
|---|---|---|---|
| Android | Google Pixel 8 Pro (v14.0) | Timed out | — |
@mm-earn-team
Money Home after fresh wallet creation with empty balance
| Platform | Device | Reason | Recording |
|---|---|---|---|
| Android | Google Pixel 8 Pro (v14.0) | Timed out | — |
✅ Passed Tests (5)
| Test | Platform | Device | Duration | Team | Recording |
|---|---|---|---|---|---|
| Measure Cold Start To Onboarding Screen | Android | Google Pixel 8 Pro (v14.0) | 1.47s | @metamask-mobile-platform | 📹 Watch |
| Onboarding Import SRP with +50 accounts, SRP 3 | Android | Google Pixel 8 Pro (v14.0) | 3.91s | @metamask-onboarding-team | 📹 Watch |
| Fresh SRP wallet creation performance | Android | Google Pixel 8 Pro (v14.0) | 15.08s | @metamask-onboarding-team | 📹 Watch |
| Money Home after importing SRP with funded balance | Android | Google Pixel 8 Pro (v14.0) | 4.79s | @mm-earn-team | 📹 Watch |
| Perps open position and close it | Android | Google Pixel 8 Pro (v14.0) | 420.00s | @mm-perps-engineering-team | — |
Branch: feat/react-native-wallet-fork-patch · Build: E2E · Commit: 02f259b · View full run




Description
Replace the
@expensify/react-native-wallet@0.1.24patch-packagefile with a Yarn patch of the MetaMask fork at0.1.41. The patch is the local merge of react-native-wallet#1 and react-native-wallet#2 onto forkmain.That gives the installed library
primaryAccountIdentifieranddeviceTypeon Apple provisioning, pluscanAddCardToAppleWallet,listAppleWalletPasses, andactivateAppleWalletPass. Card provisioning still calls the existing add-card API. The new functions are available for a follow-up to use.Changelog
CHANGELOG entry: null
Related issues
Fixes: none — no MetaMask Mobile issue tracks this library patch
Refs: MetaMask/react-native-wallet#1
Refs: MetaMask/react-native-wallet#2
Manual testing steps
Screenshots/Recordings
Before
N/A
After
N/A
Pre-merge author checklist
Performance checks (if applicable)
trace()for usage andaddTokenfor an exampleFor performance guidelines and tooling, see the Performance Guide.
Pre-merge reviewer checklist
Note
Medium Risk
Large native-module bump and a breaking TypeScript change to the
addCardToAppleWalletcallback; Apple card provisioning paths are sensitive though behavior is intended to stay compatible for existing flows.Overview
Bumps
@expensify/react-native-walletfrom0.1.24(patch-package) to0.1.41via a Yarn patch, replacing the oldpatches/@expensify+react-native-wallet+0.1.24.patchwith.yarn/patches/@expensify-react-native-wallet-npm-0.1.41-50938886af.patch(merged MetaMask fork changes from react-native-wallet PRs #1 and #2).The patched library extends Apple Wallet / PassKit support: optional
primaryAccountIdentifieron add-card data;deviceType(phone/watch/unknown) on the add-pass response and as a fourth argument to theaddCardToAppleWalletissuer encrypt callback; and new JS APIscanAddCardToAppleWallet,listAppleWalletPasses, andactivateAppleWalletPass(full iOS implementation, Android no-ops or throws). iOS native code adds pass listing, activation, multi-device provisioning hints, and clearer errors when a card is already on all devices.No app-layer changes in this PR—existing provisioning can keep using
addCardToAppleWallet; integrators must update the encrypt callback signature if TypeScript is strict. New APIs are for follow-up work.Reviewed by Cursor Bugbot for commit 8b8df8e. Bugbot is set up for automated code reviews on this repo. Configure here.