react-native-code-push
react-native-code-push copied to clipboard
Diff Update not working for subsequent codepushes. Entire bundle is always downloaded
Steps to Reproduce
- Code push a fix v1
- Code push another fix v2 on to same binary version
Expected Behavior
Diff must happen and only changed files should be downloaded
Actual Behavior
Entire bundle is always getting dowloaded
Environment
- react-native-code-push version: ^7.0.4
- react-native version: 0.67.2
- iOS/Android/Windows version: All Android & iOS versions
We are also uploading sentry maps.
Should any naming convention or file structures to be followed for diffing to work?
Also seeing this in an existing app.
We monitor totalBytes
on codepush sync, and starting on August 15, every update is now a full download.
Are you guys experiencing extremely slow bundle downloads?
Yes, facing both full download issue as well as very slow download speeds.
Hello,
I am working on an app with a lot of users in Latin America where internet is slow and expensive, and we are facing this issue as well. I've been reading all I can about this, github issues, blogs, documentation, even the server code related to this.
https://github.com/microsoft/react-native-code-push/blob/9947037a985a04927c64624318e4ce64d43d2049/windows-legacy/CodePush.Shared/CodePushConstants.cs#L11
A file called hotcodepush.json
seems to be necessary for the diffing logic?
https://github.com/microsoft/react-native-code-push/blob/9947037a985a04927c64624318e4ce64d43d2049/windows-legacy/CodePush/UpdateManager.cs#L61
And the server seems to look for it in the main dir. I downloaded our current staging version from appcenter and unzipped the contents, and I'm not seeing any hotcodepush.json file. Here's what I have:
AndroidManifest.xml firebase-encoders-json.properties play-services-basement.properties
DebugProbesKt.bin firebase-encoders.properties play-services-cloud-messaging.properties
META-INF firebase-iid-interop.properties play-services-iid.properties
assets firebase-installations-interop.properties play-services-mlkit-barcode-scanning.properties
classes.dex firebase-installations.properties play-services-mlkit-face-detection.properties
classes2.dex firebase-measurement-connector.properties play-services-mlkit-text-recognition.properties
classes3.dex firebase-messaging.properties play-services-stats.properties
classes4.dex image.properties play-services-tasks.properties
classes5.dex kotlin res
classes6.dex lib resources.arsc
com okhttp3 transport-api.properties
common.properties org transport-backend-cct.properties
firebase-annotations.properties play-services-auth-api-phone.properties transport-runtime.properties
firebase-common.properties play-services-auth-base.properties vision-common.properties
firebase-components.properties play-services-auth.properties
firebase-datatransport.properties play-services-base.properties
➜ app-staging-release find . | grep hotcodepush
➜ app-staging-release
This is how we release the update:
command = 'yarn appcenter codepush release-react '
command += "--token #{token} "
# here's the force cache flush:
command += '--extra-bundler-option="--reset-cache" '
command += "--app #{APPCENTER_ORG_NAME}/#{app_name} "
command += "--deployment-name #{APPCENTER_DEP_NAME} "
command += "--target-binary-version '#{target}' "
# explicitly tell where to output build and sourcemaps
command += '--output-dir ./build '
command += '--sourcemap-output-dir ./build '
command += "--description #{description} "
command += '--mandatory '
command += '--disable-telemetry '
command += '--disable-duplicate-release-error'
I would really appreciate any help in debugging this. Let me know if there's any more info I can provide.
@cmocanu I thin they just don't care about codePush. Its a free product, so they just don't care. Here the problem seems to be in some networks. Some work, some doesn't
This issue has been automatically marked as stale because it has not had any activity for 60 days. It will be closed if no further activity occurs within 15 days of this comment.
This issue will now be closed because it hasn't had any activity for 15 days after stale. Please feel free to open a new issue if you still have a question/issue or suggestion.
any updates?
Same question here. Differential logic seems to depend on hotcodepush.json
but this is not generated and no info on how to generate it. I am running the react-native bundle
command