Repository navigation
Conversation
PassKit uses this id to recognize a reissued card after the PAN suffix changes.
…e-UAPP # Conflicts: # android/src/main/java/com/expensify/wallet/WalletModule.kt
# Conflicts: # android/src/main/java/com/expensify/wallet/WalletModule.kt # src/index.tsx
Keep primaryAccountIdentifier on both the new and old architecture paths so the old arch does not drop the field.
PassKit returns a nil enrollment controller in that case, which surfaced as a generic configuration error.
…mageSize Override metro to 0.83.8 to drop vulnerable image-size
Bump launch-editor to 2.14.2
Bump ip-address from 10.1.0 to 10.7.5
Bump compression to 1.8.2
Bump transitive ws to patched versions
Bump undici to 6.29.1
The button check, the add, and the inferred device now resolve the same id, and the device is read again when the user tries again.
A missing flag now reaches the iPhone-then-Watch lookup instead of being treated as the iPhone.
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Caution MetaMask internal reviewing guidelines:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
…count-identifier feat: pass optional primaryAccountIdentifier to Apple Wallet
Activation resolves through handleWalletResponse, the public pass type lives with the other public types, and listAppleWalletPasses only maps activationState.
Details
Adds two iOS functions so an app can show a card's verification state and finish activation without sending the user to Wallet:
listAppleWalletPasses()returns every Secure Element pass on the iPhone and on a paired Apple Watch, withactivationState(requireActivation,pending,active, and the otherCardStatusvalues) andisRemote.activateAppleWalletPass({ passTypeIdentifier, serialNumber, activationData, isRemote })activates a pass that is waiting for activation.isRemoteselects the Watch pass when the same card is on both devices.Ported from ShpetimA/react-native-wallet (
d122f802,ca6c4044), adapted to currentmain: the old architecture reads struct fields with the existing per-parameter#ifdef, and Android gets no-op stubs so the shared TurboModule spec still builds.getCardStatusBySuffixandgetCardStatusByIdentifierare unchanged and still report only the iPhone pass.Related Issues
Expensify#84
Expensify#45
Manual Tests
listAppleWalletPasses()and confirm the pass is returned withisRemote: falseand anactivationState.isRemote: true, and that a Watch-only card is no longer reported as not found.requireActivation, callactivateAppleWalletPasswith issuer activation data and the matchingisRemoteflag. Confirm it resolvestrueand a following list showsactive.activateAppleWalletPassrejects when activation data is not base64, the pass is missing, or the pass is not eligible.[], and activation throws.Linked PRs
Expensify#91 also edits the TurboModule spec, the README function table, and
WalletManager.swift/RNWallet.mm. Whichever lands second will need a small rebase. This PR does not depend on Expensify#91.