I have deployed a Live Update to the Production Channel.
Update method is set to “none”.
Some users get stuck during the download process.
Other users are able to download successfully.
A test was done on the same WiFi network.
One user could download and update fine, the other user got stuck during the download and the process never completed.
What could make the Live Update download get stuck?
This is the logging result from a device that is getting stuck:
"Message: downloaded batch 21 of 69 downloads. Done downloading 42"
No more progress is received after that output.
This stays the same for each progress callback: "0 of 1366 files Diff IonicTimer downloadTimer in 1.13 seconds."
Sorry to hear you’re having trouble. There are a host of reasons fetching an update can fail. Like any other download there can occasionally be problems. Could be an unstable network connection, other processes using the available bandwidth, or even something like a lack of physical storage on the device.
Is this isolated to a single device? I’d start by trying to reproduce the problem on a different device or simulator. Can you recreate the same behavior on other devices? Is the device that had the issue running a recent release of Android or iOS?
As a test I’d recommend disabling the update logic in your web app and trying the ‘auto’ update method. This will help to narrow down the potential causes. If it works with ‘auto’ you’ll know that your update logic needs a review. If it fails in the same way using the ‘auto’ method then it’s likely not a problem with your API code.
If you need more help you can open a ticket by emailing support@ionic.io. Be sure to use the email address registered to your Appflow account. Always helps to include your Appflow App ID when opening a ticket.
The manual update is working for some devices but not for others.
We have had many user reports saying that the update is working but then many other reports saying that it is not.
We tested it on several devices on the same WiFi where some succeeded and some failed.
We don’t want to make the update “Auto” since we feel that it is important that our users take the action to update.
I watched the logs on one of the devices that was failing and it always gets to n of x downloads but then just hangs and doesn’t download anything further.
We don’t want to make the update “Auto” since we feel that it is important that our users take the action to update.
I understand. That’s why I suggested trying it as a test. It will help to narrow down potential causes. Also worth verifying that you’re using the latest release of cordova-plugin-ionic.
It’s really hard to say what could be happening without taking a look at the project. If you need to do some debugging at runtime I’d suggest preparing an Android debug build and running it on a connected device. You can use the Chrome webview inspector to interact with the console and call live update plugin methods directly.
Once you have the app running on a connected device you can call these methods from the dev console.
IonicCordova.deploy.getConfiguration()
This will display the plugin config including the configured channel for this install. You can use this output to verify that the plugin is configured as intended.
IonicCordova.deploy.checkForUpdate()
This will tell us if an update is available. If there is an update available you can step through the full process and see what happens.
IonicCordova.deploy.downloadUpdate()
IonicCordova.deploy.extractUpdate()
IonicCordova.deploy.reloadApp()
The output you see during this process should shed more light on exactly what’s casing the problem.