tech-debt(android): replace react-native-fast-crypto with react-native-quick-crypto scrypt#30716
tech-debt(android): replace react-native-fast-crypto with react-native-quick-crypto scrypt#30716tommasini wants to merge 3 commits into
Conversation
- CHANGELOG entry for fast-crypto removal - Restore x86_64 in reactNativeArchitectures now that libsecp256k1.so and libconceal.so are no longer present in the AAB Co-authored-by: Cursor <cursoragent@cursor.com>
|
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:
The major version bump on
Performance Test Selection: |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
|
Warning MetaMask internal reviewing guidelines:
|
Description
react-native-fast-crypto@2.2.0ships prebuiltlibsecp256k1.soandlibcrypto_bridge.sobinaries aligned to 4 KB pages. This violates Android 15+'s 16 KB page-size requirement and causes Google Play warnings for every ABI.We only use
scryptfrom this package — a single call site inuser-storage-controller-init.ts.react-native-quick-crypto(which we already depend on) ships a nativescryptimplementation since version 1.x via OpenSSL/Nitro Modules.What changed:
react-native-fast-cryptoand its 3 yarn patchesreact-native-quick-cryptofrom patched0.7.15→1.1.5(already ships-DANDROID_SUPPORT_FLEXIBLE_PAGE_SIZES=ONin itsbuild.gradle)react-native-quick-base64from patched2.2.0→3.0.0(required peer dep ofquick-crypto@1.x)@craftzdog/react-native-bufferfrom^6.1.0→^6.1.2— eliminates the nestedquick-base64@2.xthat was previously installedscryptadapter at the single call site withmaxmem: 256 MiB(profile-sync usesN=2^17, r=8which requires ~134 MiB)x86_64toreactNativeArchitectures— withlibsecp256k1.soandlibconceal.so(keychain v10) both gone, all four ABIs are now 16 KB-compliantChangelog
CHANGELOG entry: Removed
react-native-fast-cryptoin favor ofreact-native-quick-cryptoscrypt; reduces Android AAB size and improves Android 16 KB page-size compliance.Related issues
Fixes: #30591
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
Made with Cursor