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
Thanks for maintaining this fork! Filing a reproducible New-Architecture (bridgeless) crash.
Steps to Reproduce
React Native 0.83.4 app with New Architecture + bridgeless enabled and Hermes (release/TestFlight build). @code-push-next/react-native-code-push (reproduced on both 10.4.1 and 10.4.2).
Standard iOS integration: ReactNativeDelegate.bundleURL() returns CodePush.bundleURL() in the non-DEBUG path (app boots via RCTReactNativeFactory).
Publish a JS-only CodePush update to the deployment, then relaunch so the client downloads + installs it.
Expected Behavior
The update installs and the app launches normally on the new bundle.
Actual Behavior
On the launch that applies the update, the app aborts immediately with RCTFatal on the JS thread — inside the legacy bridgeRCTJSThreadManager, even though the app runs bridgeless. It crashes before JS/monitoring init, so crash reporters never receive it; CodePush then auto-rolls-back on a later launch (matches #28). The bundle itself is valid Hermes bytecode built with the project's toolchain.
Notable: a different CodePush client applies OTA updates successfully on the same bridgeless RN 0.83 build, so this looks specific to this SDK's bridgeless bundle-load / restart path. Likely related: #28 and #55.
The .crash is stripped of the RCTFatal message string — happy to capture the live Console message if that helps.
Reproducible Demo
Occurs on a production app; can put together a minimal bridgeless RN 0.83 repro on request.
Thanks for maintaining this fork! Filing a reproducible New-Architecture (bridgeless) crash.
Steps to Reproduce
@code-push-next/react-native-code-push(reproduced on both 10.4.1 and 10.4.2).ReactNativeDelegate.bundleURL()returnsCodePush.bundleURL()in the non-DEBUG path (app boots viaRCTReactNativeFactory).Expected Behavior
The update installs and the app launches normally on the new bundle.
Actual Behavior
On the launch that applies the update, the app aborts immediately with
RCTFatalon the JS thread — inside the legacy bridgeRCTJSThreadManager, even though the app runs bridgeless. It crashes before JS/monitoring init, so crash reporters never receive it; CodePush then auto-rolls-back on a later launch (matches #28). The bundle itself is valid Hermes bytecode built with the project's toolchain.```
Exception Type: EXC_CRASH (SIGABRT)
Last Exception Backtrace:
2 React RCTFatal + 568 (RCTAssert.m:147)
3 React __26-[RCTJSThreadManager init]_block_invoke_2 + 56 (RCTJSThreadManager.mm:34)
4 React facebook::react::RCTMessageThread::tryFunc(...)
10 React +[RCTJSThreadManager runRunLoop]
(hermesvm loaded; New Architecture / bridgeless)
```
Things that did not fix it:
--hermes on) and splittingbundle+push.Notable: a different CodePush client applies OTA updates successfully on the same bridgeless RN 0.83 build, so this looks specific to this SDK's bridgeless bundle-load / restart path. Likely related: #28 and #55.
The .crash is stripped of the
RCTFatalmessage string — happy to capture the live Console message if that helps.Reproducible Demo
Occurs on a production app; can put together a minimal bridgeless RN 0.83 repro on request.
Environment