cordova-plugin-code-push
cordova-plugin-code-push copied to clipboard
downloadProgress callback no longer being called on cordova-plugin-code-push v2.0.0
Description
The downloadProgress callback is no longer being called since the switch to cordova-plugin-advanced-http.
The plugin source code calling downloadProgress has been removed from RemotePackage.prototype.download.
The docs still reference as if downloadProgress is still going to be called.
https://github.com/microsoft/cordova-plugin-code-push#codepushsync
Reproduction
- Call
codepush.syncwith the documentedcodePush.sync(syncCallback?, syncOptions?, downloadProgress?, syncErrback?); - Attach a debugger to the
downloadProgresscallback function - Verify that the debugger is never triggered
Additional Information
- cordova-plugin-code-push version: v2.0.0
- List of installed plugins: cordova-plugin-code-push + dependencies
- Cordova version: v6.1.1
- iOS/Android/Windows version: iOS 14.0.1
- Does this reproduce on a debug build or release build?: Both
- Does this reproduce on a simulator, or only on a physical device?: Physical, most likely both
I'm getting the same here.
I found RemotePackage.prototype.download on bin/www/remotePackage.js method is receiving downloadProgress but it's not being called.
Same symptoms here. The downloadProgress-callback-argument of codePush.sync is never called.
Same here. Also, I see the app being downloaded and installed. But, stuck with white screen after completion. Dashboard reports rollback for the update, after that. Is that related to this?
@ankitjainOfficial if your error is only reproducible in iOS, then you might want to check that no file of your app contains utf8 multibyte characters. Seems like the iOS cordova push fails the integrity check of the update due to how the hash is calculated and the handling of filename encoding.
If you just use ASCII characters for your filenames you can rule this problem out.
https://github.com/microsoft/cordova-plugin-code-push/issues/660#issuecomment-740023296
@trampi Thanks for the comment. It's just a normal ionic/angular build. So, I didn't find any multibyte characters.
@ankitjainOfficial, ahh, I see. We have a angular / cordova application as well (no ionic), but had a static image asset named "weiß.jpg" (german for "white") -> the "ß"-Umlaut in the filename of the static asset lead to errors after installing code push updates.
The error reported through the console on iOS-devices was "The update contents failed the data integrity check". We could not reproduce this error on Android devices, only iOS-devices / simulators were affected.
Maybe you could open a new ticket with the error output of codepush in the dev console? That should help finding the root cause.
All the best, trampi
@rex-iotum did you have any progress on this? i'm having the same issue.
Dependency set is like below
"@angular/animations": "~10.0.8", "@angular/cdk": "^10.0.2", "@angular/common": "~10.0.8", "@angular/compiler": "~10.0.8", "@angular/core": "~10.0.8", "@angular/fire": "^6.0.2", "@angular/forms": "~10.0.8", "@angular/localize": "^10.0.8", "@angular/platform-browser": "~10.0.8", "@angular/platform-browser-dynamic": "~10.0.8", "@angular/router": "~10.0.8", "@ionic-native/badge": "^5.30.0", "@ionic-native/barcode-scanner": "^5.28.0", "@ionic-native/battery-status": "^5.28.0", "@ionic-native/camera": "^5.28.0", "@ionic-native/camera-preview": "^5.28.0", "@ionic-native/code-push": "^5.30.0", "@ionic-native/core": "^5.0.0", "@ionic-native/device": "^5.28.0", "@ionic-native/device-motion": "^5.28.0", "@ionic-native/device-orientation": "^5.28.0", "@ionic-native/document-scanner": "^5.28.0", "@ionic-native/fcm": "^5.30.0", "@ionic-native/geolocation": "^5.28.0", "@ionic-native/globalization": "^5.28.0", "@ionic-native/image-picker": "^5.28.0", "@ionic-native/in-app-browser": "^5.30.0", "@ionic-native/insomnia": "^5.28.0", "@ionic-native/ionic-webview": "^5.28.0", "@ionic-native/keyboard": "^5.30.0", "@ionic-native/local-notifications": "^5.28.0", "@ionic-native/network": "^5.28.0", "@ionic-native/network-interface": "^5.28.0", "@ionic-native/service-discovery": "^5.28.0", "@ionic-native/speechkit": "^5.28.0", "@ionic-native/splash-screen": "^5.0.0", "@ionic-native/status-bar": "^5.0.0", "@ionic-native/text-to-speech": "^5.28.0", "@ionic-native/three-dee-touch": "^5.28.0", "@ionic-native/toast": "^5.28.0", "@ionic-native/zeroconf": "^5.28.0", "@ionic/angular": "^5.0.0", "@ng-bootstrap/ng-bootstrap": "^7.0.0", "@pazznetwork/ngx-chat": "^0.10.2", "@xmpp/client": "^0.9.2", "ag-grid-angular": "^23.2.1", "ag-grid-community": "^23.2.1", "chart.js": "^2.9.3", "chartjs-plugin-annotation": "^0.5.7", "chartjs-plugin-datalabels": "^0.7.0", "chartjs-plugin-zoom": "^0.7.7", "cordova-plugin-device": "^2.0.2", "cordova-plugin-ionic-keyboard": "^2.2.0", "cordova-plugin-ionic-webview": "^4.2.1", "cordova-plugin-splashscreen": "^5.0.2", "cordova-plugin-statusbar": "^2.4.2", "cordova-plugin-whitelist": "^1.3.3", "core-js": "^3.6.5", "crypto-js": "^4.0.0", "file-saver": "^2.0.2", "firebase": "^7.21.0", "hammerjs": "^2.0.8", "icon-font-generator": "^2.1.10", "ismobilejs": "^1.1.1", "jquery": "^3.5.1", "jquery-mask-plugin": "^1.14.16", "jshashes": "^1.0.8", "lodash-es": "^4.17.15", "moment": "^2.27.0", "ng-drag-drop": "^5.0.0", "ng-dynamic-component": "^7.0.1-no-barrels.1", "ng-multiselect-dropdown": "0.2.10", "ng2-charts": "^2.3.2", "ngx-color-picker": "^10.0.1", "ngx-device-detector": "^1.4.6", "ngx-joyride": "^2.3.1", "rxjs": "~6.6.2", "swipejs": "^2.2.18", "tslib": "^2.0.0", "zone.js": "~0.10.3"
As far as I know. the cordova-plugin-advanced-http used to download don't have support for download progress.
Any solution now? the downloadProgress callback still can no be fire.
Description
The
downloadProgresscallback is no longer being called since the switch tocordova-plugin-advanced-http. The plugin source code callingdownloadProgresshas been removed fromRemotePackage.prototype.download.The docs still reference as if
downloadProgressis still going to be called. https://github.com/microsoft/cordova-plugin-code-push#codepushsyncReproduction
- Call
codepush.syncwith the documentedcodePush.sync(syncCallback?, syncOptions?, downloadProgress?, syncErrback?);- Attach a debugger to the
downloadProgresscallback function- Verify that the debugger is never triggered
Additional Information
- cordova-plugin-code-push version: v2.0.0
- List of installed plugins: cordova-plugin-code-push + dependencies
- Cordova version: v6.1.1
- iOS/Android/Windows version: iOS 14.0.1
- Does this reproduce on a debug build or release build?: Both
- Does this reproduce on a simulator, or only on a physical device?: Physical, most likely both
You can try v1.12.0, I downgrade to this version, the downloadProgress callback function working well.
Good luck for you.
https://www.npmjs.com/package/cordova-plugin-code-push/v/1.12.0