Open utterances-bot opened 2 years ago
The built in autoUpdater is pretty poor in terms of bandwidth usage. I have built a solution where it uses binary diffing to generate the deltas and it updates downloading few KBs only.
Check out here: https://github.com/electron-delta/electron-delta
@PhiloNL This article is very detailed, especially the Race condition on macOS with Squirrel updater
part. Thanks!
Here in my electron application, I also use this same find-process-and-check-if-updater-is-on-going
solution, but with a maximum retry for 5 times and each relaunch have a 5 second delay, to try to provide a better chance for squirrel ShipIt
service to run.
Since the process-check progress should be executed everytime the app is launched, it will definitely affect the startup timecost performance of the app.
But even with that, the success upgrade rate of my app is still below 95%, and upgrade failures occur randomly. I'm wondering if there's any better method we can use 🤔
Electron auto update introduction
Step by step guide on using Electron Auto Update to distribute new versions of your application to your users.
https://philo.dev/electron-auto-update-explained/