|
@@ -2,7 +2,9 @@ const { autoUpdater } = require("electron-updater");
|
|
const { dialog } = require('electron')
|
|
const { dialog } = require('electron')
|
|
|
|
|
|
class Updater {
|
|
class Updater {
|
|
- run() {
|
|
|
|
|
|
+ run(mainWindow) {
|
|
|
|
+ autoUpdater.autoDownload = false;
|
|
|
|
+
|
|
// Called when checking for an update
|
|
// Called when checking for an update
|
|
autoUpdater.on('checking-for-update', () => {
|
|
autoUpdater.on('checking-for-update', () => {
|
|
console.log('Checking for update...');
|
|
console.log('Checking for update...');
|
|
@@ -11,6 +13,21 @@ class Updater {
|
|
// Called when an update is available
|
|
// Called when an update is available
|
|
autoUpdater.on('update-available', (info) => {
|
|
autoUpdater.on('update-available', (info) => {
|
|
console.log('Update available:', info.version);
|
|
console.log('Update available:', info.version);
|
|
|
|
+
|
|
|
|
+ // Ask user if they want to download
|
|
|
|
+ dialog.showMessageBox(mainWindow, {
|
|
|
|
+ type: 'question',
|
|
|
|
+ buttons: ['Yes', 'No'],
|
|
|
|
+ defaultId: 0,
|
|
|
|
+ cancelId: 1,
|
|
|
|
+ title: 'Update Available',
|
|
|
|
+ message: `Version ${info.version} is available. Do you want to download it now?`
|
|
|
|
+ }).then(result => {
|
|
|
|
+ if (result.response === 0) {
|
|
|
|
+ autoUpdater.downloadUpdate();
|
|
|
|
+ }
|
|
|
|
+ });
|
|
|
|
+
|
|
});
|
|
});
|
|
|
|
|
|
// Called when no update is found
|
|
// Called when no update is found
|
|
@@ -32,7 +49,7 @@ class Updater {
|
|
dialog.showMessageBox(mainWindow, {
|
|
dialog.showMessageBox(mainWindow, {
|
|
type: 'info',
|
|
type: 'info',
|
|
buttons: ['Restart Now', 'Later'],
|
|
buttons: ['Restart Now', 'Later'],
|
|
- title: 'Update Available',
|
|
|
|
|
|
+ title: 'Update Ready',
|
|
message: 'A new version has been downloaded. Restart the application to apply the updates?'
|
|
message: 'A new version has been downloaded. Restart the application to apply the updates?'
|
|
}).then(result => {
|
|
}).then(result => {
|
|
if (result.response === 0) { // Restart Now
|
|
if (result.response === 0) { // Restart Now
|