BRass
BRass

Reputation: 3838

cordova code-push error on update

I'm using the Cordova plugin for the Microsoft Code Push service in my ionic app (https://github.com/Microsoft/cordova-plugin-code-push).

Currently I build an android app [ionic build android], push that update to code-push [code-push release-cordova ionic-atslogin-android -m android], and then use the app which has codepush sync incorporated. I'm seeing the update get recognized, downloaded, and an install is attempted but fails. Any ideas how to troubleshoot/fix?

11-14 10:25:32.684  4401  4401 I chromium: [INFO:CONSOLE(36)] "[CodePush] Package download success: {"deploymentKey":"KEY-HERE","description":"","label":"v8","appVersion":"0.0.1","isMandatory":true,"packageHash":"9bf0fcb79157619cf1eded10c3de186a7aeb2f4b02e96ef094886f429cdc0ef4","isFirstRun":false,"failedInstall":false,"localPath":"cdvfile://localhost/files/codepush/download/update.zip"}", source: file:///android_asset/www/plugins/cordova-plugin-code-push/bin/www/codePushUtil.js (36)
11-14 10:25:32.685  4401  4401 I chromium: [INFO:CONSOLE(82045)] "8", source: file:///android_asset/www/build/main.js (82045)
11-14 10:25:32.686  4401  4401 I chromium: [INFO:CONSOLE(36)] "[CodePush] Installing update", source: file:///android_asset/www/plugins/cordova-plugin-code-push/bin/www/codePushUtil.js (36)
11-14 10:25:33.134  4401  4401 I chromium: [INFO:CONSOLE(40)] "[CodePush]  Cannot perform diff-update.", source: file:///android_asset/www/plugins/cordova-plugin-code-push/bin/www/codePushUtil.js (40)
11-14 10:25:33.134  4401  4401 I chromium: [INFO:CONSOLE(40)] "[CodePush] An error occurred during sync.", source: file:///android_asset/www/plugins/cordova-plugin-code-push/bin/www/codePushUtil.js (40)
11-14 10:25:33.134  4401  4401 I chromium: [INFO:CONSOLE(82045)] "3", source: file:///android_asset/www/build/main.js (82045)

And from the code-push debug:

>code-push debug android
Listening for android debug logs (Press CTRL+C to exit)
[10:48:26] Package download success: {"deploymentKey":"KEY-HERE","description":"","label":"v8","appVersion":"0.0.1","isMandatory":true,"packageHash":"9bf0fcb79157619cf1eded10c3de186a7aeb2f4b02e96ef094886f429cdc0ef4","isFirstRun":false,"failedInstall":false,"localPath":"cdvfile://localhost/files/codepush/download/update.zip"}
[10:48:26] Package download success: {"deploymentKey":"KEY-HERE","description":"","label":"v8","appVersion":"0.0.1","isMandatory":true,"packageHash":"9bf0fcb79157619cf1eded10c3de186a7aeb2f4b02e96ef094886f429cdc0ef4","isFirstRun":false,"failedInstall":false,"localPath":"cdvfile://localhost/files/codepush/download/update.zip"}
[10:48:26] Installing update
[10:48:26] Installing update
[10:48:26]  Cannot perform diff-update.
[10:48:26]  Cannot perform diff-update.
[10:48:26] An error occurred during sync.
[10:48:26] An error occurred during sync.

Upvotes: 0

Views: 981

Answers (1)

BRass
BRass

Reputation: 3838

I believe this was due to how I was using Sync via Ionic 2. This sync logic seems to work:

const downloadProgress = (progress) => { console.log(`Downloaded ${progress.receivedBytes} of ${progress.totalBytes}`); }
CodePush.sync({updateDialog: true, installMode:InstallMode.IMMEDIATE, mandatoryInstallMode: InstallMode.IMMEDIATE}, downloadProgress).subscribe((syncStatus) => console.log(syncStatus));

Upvotes: 0

Related Questions