mirror of
https://github.com/dscalzi/HeliosLauncher.git
synced 2024-12-22 11:42:14 -08:00
Application now checks for updates every 30 minutes.
This commit is contained in:
parent
f1cf433ca8
commit
0216582827
@ -29,35 +29,42 @@ webFrame.setLayoutZoomLevelLimits(0, 0)
|
||||
|
||||
// Initialize auto updates in production environments.
|
||||
// TODO Make this the case after implementation is done.
|
||||
let updateCheckListener
|
||||
if(!isDev){
|
||||
ipcRenderer.on('autoUpdateNotification', (event, arg, info) => {
|
||||
switch(arg){
|
||||
case 'checking-for-update':
|
||||
console.log('Checking for update..')
|
||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Checking for update..')
|
||||
break
|
||||
case 'update-available':
|
||||
console.log('New update available', info.version)
|
||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'New update available', info.version)
|
||||
break
|
||||
case 'update-downloaded':
|
||||
console.log('Update ' + info.version + ' ready to be installed.')
|
||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Update ' + info.version + ' ready to be installed.')
|
||||
showUpdateUI(info)
|
||||
break
|
||||
case 'update-not-available':
|
||||
console.log('No new update found.')
|
||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'No new update found.')
|
||||
break
|
||||
case 'ready':
|
||||
updateCheckListener = setInterval(() => {
|
||||
ipcRenderer.send('autoUpdateAction', 'checkForUpdate')
|
||||
case 'error':
|
||||
console.log('Error during update check..')
|
||||
console.debug('Error Code:', info != null ? info.code : null)
|
||||
if(err != null && err.code != null){
|
||||
if(err.code === 'ERR_UPDATER_INVALID_RELEASE_FEED'){
|
||||
console.log('No suitable releases found.')
|
||||
}, 1800000)
|
||||
ipcRenderer.send('autoUpdateAction', 'checkForUpdate')
|
||||
case 'realerror':
|
||||
if(info != null && info.code != null){
|
||||
if(info.code === 'ERR_UPDATER_INVALID_RELEASE_FEED'){
|
||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'No suitable releases found.')
|
||||
} else if(info.code === 'ERR_XML_MISSED_ELEMENT'){
|
||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'No releases found.')
|
||||
} else {
|
||||
console.error('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Error during update check..', info)
|
||||
console.debug('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Error Code:', info.code)
|
||||
}
|
||||
}
|
||||
break
|
||||
default:
|
||||
console.log('Unknown argument', arg)
|
||||
console.log('%c[AutoUpdater]', 'color: #a02d2a; font-weight: bold', 'Unknown argument', arg)
|
||||
break
|
||||
}
|
||||
})
|
||||
|
4
index.js
4
index.js
@ -6,6 +6,7 @@ const url = require('url')
|
||||
const fs = require('fs')
|
||||
const ejse = require('ejs-electron')
|
||||
|
||||
// Setup auto updater.
|
||||
function initAutoUpdater(event) {
|
||||
// Defaults to true if application version contains prerelease components (e.g. 0.12.1-alpha.1)
|
||||
// autoUpdater.allowPrerelease = true
|
||||
@ -27,6 +28,7 @@ function initAutoUpdater(event){
|
||||
})
|
||||
}
|
||||
|
||||
// Open channel to listen for update actions.
|
||||
ipcMain.on('autoUpdateAction', (event, arg) => {
|
||||
switch(arg){
|
||||
case 'initAutoUpdater':
|
||||
@ -37,7 +39,7 @@ ipcMain.on('autoUpdateAction', (event, arg) => {
|
||||
case 'checkForUpdate':
|
||||
autoUpdater.checkForUpdates()
|
||||
.catch(err => {
|
||||
event.sender.send('autoUpdateNotification', 'error', err)
|
||||
event.sender.send('autoUpdateNotification', 'realerror', err)
|
||||
})
|
||||
break
|
||||
case 'installUpdateNow':
|
||||
|
Loading…
Reference in New Issue
Block a user