You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
iOS: roll back stuck pending updates before JS/Fabric starts, fix crash
Moves the rollback decision for a stuck (isLoading==YES) pending update from
-initializeUpdateAfterRestart (runs mid bundle-eval, after JS/Fabric already
exist) into +bundleURLForResource:..., the bridge's source-URL provider,
which runs before any JS or Fabric surface exists. This removes the
in-process reload that raced RN 0.86's Fabric surface teardown/recreate
internals and crashed CI intermittently on localPackage.install.revert.dorevert
(EXC_BAD_ACCESS / SIGSEGV).
The rollback itself (+[CodePushPackage rollbackPackage] + bookkeeping) is
extracted into a new +[CodePush rollbackPendingUpdate] class method, callable
with no bridge/instance around. The old -rollbackPackage instance method
(which called -loadBundle to trigger the racy reload) is now dead and
removed; -saveFailedUpdate: became a class method since it is shared by both
the download-failure path and the new rollback path.
Note: the IMMEDIATE-install/restartApp() reload path has the same underlying
Fabric race and is not addressed here; that needs a separate follow-up.
0 commit comments