Environment:
@revopush/react-native-code-push: 2.5.1 (also tested 1.2.1 — works)
React Native: 0.84 (also reproduced on fresh 0.83 project, no copied files)
Platform: Android only — iOS succeeds on the same release
New Architecture: enabled (mandatory, cannot opt out on this RN version)
Build type: Release
Steps to reproduce:
Fresh react-native init project on RN 0.83/0.84 (no custom native code)
Install @revopush/react-native-code-push 2.5.1
Build and install a release APK
Publish an OTA update via the CLI
App downloads the update successfully, then fails with: The update contents failed the data integrity check., syncStatus returns 3 (rollback)
Expected behavior: Update installs successfully, as it does with 1.2.1 under identical steps.
Actual behavior: Rollback every time,exiting with CODEPUSH_STATUS=3 deterministically — not intermittent.
Additional notes:
Reproduces even on a brand-new project with no custom bundling/asset config, ruling out app-specific Gradle or asset setup.
Downgrading only the @revopush/react-native-code-push version to 1.2.1 (same RN version, same everything else) resolves it completely.
I Suspect the hash-verification path in BundleManager/CodePushUpdateManager changed between 1.2.1 and 2.5.1 in a way that no longer matches what the release CLI packages, but I haven't been able to confirm without visibility into the CLI's own hashing code.
Environment:
@revopush/react-native-code-push: 2.5.1 (also tested 1.2.1 — works)
React Native: 0.84 (also reproduced on fresh 0.83 project, no copied files)
Platform: Android only — iOS succeeds on the same release
New Architecture: enabled (mandatory, cannot opt out on this RN version)
Build type: Release
Steps to reproduce:
Fresh react-native init project on RN 0.83/0.84 (no custom native code)
Install @revopush/react-native-code-push 2.5.1
Build and install a release APK
Publish an OTA update via the CLI
App downloads the update successfully, then fails with: The update contents failed the data integrity check., syncStatus returns 3 (rollback)
Expected behavior: Update installs successfully, as it does with 1.2.1 under identical steps.
Actual behavior: Rollback every time,exiting with CODEPUSH_STATUS=3 deterministically — not intermittent.
Additional notes:
Reproduces even on a brand-new project with no custom bundling/asset config, ruling out app-specific Gradle or asset setup.
Downgrading only the @revopush/react-native-code-push version to 1.2.1 (same RN version, same everything else) resolves it completely.
I Suspect the hash-verification path in BundleManager/CodePushUpdateManager changed between 1.2.1 and 2.5.1 in a way that no longer matches what the release CLI packages, but I haven't been able to confirm without visibility into the CLI's own hashing code.