fix: regenerator-runtime and reenable SES (v1.1.0) on iOS (JSC)#8033
Conversation
Refactor gen func proto iterator symbol obj prop assignment to Object.defineProperty
|
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. |
|
E2E test started on Bitrise: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/27e3bafe-0f8a-4644-8d6e-42bd5b1d8333 |
|
converted back to draft until failing/cancelled unit tests resolved |
|
E2E test started on Bitrise: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/fae1b7fb-caf2-4b2d-bffa-c491fe9b4f38 |
|
pr re-readied up, since CI flakey unit tests unrelated to this pr issue appears fixed, based on Sentry logs, solution and our prev solution in mm-ext |
|
once is merged, we can update this branch, and unit tests should be passing again and PR is ready for QA we shouldn't need to disable SES |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #8033 +/- ##
=======================================
Coverage 40.33% 40.33%
=======================================
Files 1235 1235
Lines 29949 29949
Branches 2875 2875
=======================================
Hits 12079 12079
Misses 17175 17175
Partials 695 695 ☔ View full report in Codecov by Sentry. |
This reverts commit c5eba9d.
- Since was disabled as crash hotfix - CI unit test failures were due to Node v18.19 not SES - All regenerator-runtime vers now SES-compatible (v0.13.8+)
|
|
E2E test started on Bitrise: https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/a273882e-3ca2-4d7d-a332-9df00fe1e0c6 |
build_smoke_e2e_ios_android_stage ✅ local testing
all smoke tests passing locally, update branch and re-run BitRise Smoke tests ( |
|
https://app.bitrise.io/app/be69d4368ee7e86d/pipelines/d36076eb-cdf7-4179-9d94-15ac845bc5a5 ✅ all regression tests also passing locally
|
I believe there were issues with our E2E tests on Bitrise. @cortisiko @chrisleewilcox could you confirm? |
|
@leotm Are you aware if the latest core controllers already resolve this issue? If not, could you follow up with a PR to core that performs one of the following? |
Cal-L
left a comment
There was a problem hiding this comment.
left a comment and some questions
good question after checking core(main) appears fixed now since edit: tried bumping
@tommasini @Gudahtt what would be the best way to upgrade our patch? (looking thru the 2.4k lines) edit: after brief call with @tommasini doing our controller upgrades, our resolution seems best solution for now cc @Cal-L also our final |
And remove stale babel-runtime/regenerator-runtime resolution
|
Removed dependencies detected. Learn more about Socket for GitHub ↗︎ |
This reverts commit 38c0a31.
|
I don't think updating that package would help; |
yeah i see what you mean ok leaving it for now, unless a resolution like MetaMask/core#3809 would make sense over there too |
|





Description
Fix recent spike in iOS crashes (sending ETH on Optimism)
and reenable SES on iOS (we disabled it temporarily for our v7.12.2 hotfix)
nb: flakey CI earlier was Node 18.19, not SES
Make
regenerator-runtime@0.11.1compatible with SES via a patch (updated since to a resolution)Object.definePropertyfull regenerator-runtime dep tree
Considerations
runtime.jsother relevant parts@metamask/assets-controllers>babel-runtime>regenerator-runtime@metamask/assets-controllers>babel-runtimeRemaining
regenerator-runtimetransitive deps are safe above v0.13.8 (see dep tree above)Related issues
Fixes: #8015
resolveEnsToIpfsContentIdconst Registry = contract(registryAbi).at(registryAddress);an ethjs/ethjs-contractresolveEnsToIpfsContentIdFixes: #8017
Additional context
Manual testing steps
Steps in Sentry issue breadcrumbs (iOS prod)
To enable SES in debug-mode, omit
!__DEV__metamask-mobile/patches/react-native+0.71.14.patch
Lines 11 to 12 in 46c1cea
I've not managed to repro locally this way yet
Screenshots/Recordings
Before
After
Pre-merge author checklist
Pre-merge reviewer checklist