Notify user if auto update failed

This commit is contained in:
Thomas Nordquist
2019-01-13 17:37:13 +01:00
parent d2bb098772
commit fdece7ae91
3 changed files with 32 additions and 10 deletions

View File

@@ -1,10 +1,11 @@
import * as React from 'react' import * as React from 'react'
import { connect } from 'react-redux'
import * as q from '../../../../backend/src/Model' import * as q from '../../../../backend/src/Model'
import { Typography } from '@material-ui/core'
import TreeNode from './TreeNode'
import { makeConnectionMessageEvent, rendererEvents } from '../../../../events' import { makeConnectionMessageEvent, rendererEvents } from '../../../../events'
import { AppState } from '../../reducers' import { AppState } from '../../reducers'
import TreeNode from './TreeNode'
import { connect } from 'react-redux'
const MovingAverage = require('moving-average') const MovingAverage = require('moving-average')

View File

@@ -6,7 +6,7 @@ autoUpdater.logger.transports.file.level = 'info';
log.info('App starting...'); log.info('App starting...');
// Modules to control application life and create native browser window // Modules to control application life and create native browser window
const {app, BrowserWindow} = require('electron') const { app, BrowserWindow, Notification } = require('electron')
try { try {
require('./backend/build/backend/src/index.js') require('./backend/build/backend/src/index.js')
} catch (err) { } catch (err) {
@@ -29,6 +29,31 @@ function createWindow () {
// and load the index.html of the app. // and load the index.html of the app.
mainWindow.loadFile('app/index.html') mainWindow.loadFile('app/index.html')
mainWindow.webContents.once('dom-ready', () => {
console.log('window loaded, check for updates')
let updateInfo
autoUpdater.on('update-available', (info) => {
updateInfo = info
})
autoUpdater.on('error', () => {
const version = updateInfo ? ` (${updateInfo.version})` : ''
const releaseNotes = ((updateInfo && updateInfo.releaseNotes) ? `${updateInfo.releaseNotes}\n` : '')
let notification = new Notification({
title: 'Update available' + version,
silent: true,
body: releaseNotes + 'https://github.com/thomasnordquist/MQTT-Explorer/releases'
})
notification.show()
})
try {
autoUpdater.checkForUpdatesAndNotify()
} catch (error) {
console.error(error)
}
})
// Open the DevTools. // Open the DevTools.
// mainWindow.webContents.openDevTools() // mainWindow.webContents.openDevTools()
@@ -47,11 +72,6 @@ function createWindow () {
// Some APIs can only be used after this event occurs. // Some APIs can only be used after this event occurs.
app.on('ready', () => { app.on('ready', () => {
createWindow() createWindow()
try {
autoUpdater.checkForUpdatesAndNotify()
} catch (error) {
console.error(error)
}
}) })
// Quit when all windows are closed. // Quit when all windows are closed.

View File

@@ -1,5 +1,6 @@
import { IpcMain, IpcRenderer, ipcMain, ipcRenderer } from 'electron'
import { Event } from './Events' import { Event } from './Events'
import { ipcMain, ipcRenderer, IpcRenderer, IpcMain } from 'electron'
interface EventBusInterface { interface EventBusInterface {
subscribe<MessageType>(event: Event<MessageType>, callback:(msg: MessageType) => void): void subscribe<MessageType>(event: Event<MessageType>, callback:(msg: MessageType) => void): void