Skip to content

Commit

Permalink
Merge pull request #157 from dtom90/fix/auto-updater
Browse files Browse the repository at this point in the history
Auto-Updater Debugging
  • Loading branch information
dtom90 committed Sep 24, 2020
2 parents 1246929 + 1a91284 commit d0b281c
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 27 deletions.
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "devtrack",
"version": "0.9.0",
"version": "0.9.1",
"private": true,
"description": "An app for productive developers",
"author": {
Expand Down Expand Up @@ -45,7 +45,8 @@
"core-js": "^3.6.5",
"dayjs": "^1.8.16",
"dompurify": "^2.0.7",
"electron-updater": "^4.2.0",
"electron-log": "^4.2.4",
"electron-updater": "^4.3.5",
"humanize-duration": "^3.21.0",
"jquery": "^3.5.1",
"lodash.clonedeep": "^4.5.0",
Expand Down
42 changes: 41 additions & 1 deletion src/background.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,17 +2,27 @@

import { app, protocol, BrowserWindow, shell } from 'electron'
import { autoUpdater } from 'electron-updater'
import log from 'electron-log'
import {
createProtocol,
installVueDevtools
} from 'vue-cli-plugin-electron-builder/lib'

const isDevelopment = process.env.NODE_ENV !== 'production'

autoUpdater.logger = log
autoUpdater.logger.transports.file.level = 'info'
log.info('App starting...')

// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
let win

function sendStatusToWindow (text) {
log.info(text)
win.webContents.send('message', text)
}

// Scheme must be registered before the app is ready
protocol.registerSchemesAsPrivileged([{ scheme: 'app', privileges: { secure: true, standard: true } }])

Expand All @@ -34,7 +44,6 @@ function createWindow () {
createProtocol('app')
// Load the index.html when not in development
win.loadURL('app://./index.html')
autoUpdater.checkForUpdatesAndNotify()
}

// Open links in the default browser window
Expand All @@ -48,6 +57,31 @@ function createWindow () {
})
}

autoUpdater.on('checking-for-update', () => {
sendStatusToWindow('Checking for update...')
})
autoUpdater.on('update-available', (info) => {
sendStatusToWindow('Update available.')
log.info(info)
})
autoUpdater.on('update-not-available', (info) => {
sendStatusToWindow('Update not available.')
log.info(info)
})
autoUpdater.on('error', (err) => {
sendStatusToWindow('Error in auto-updater. ' + err)
})
autoUpdater.on('download-progress', (progressObj) => {
let logMessage = 'Download speed: ' + progressObj.bytesPerSecond
logMessage = logMessage + ' - Downloaded ' + progressObj.percent + '%'
logMessage = logMessage + ' (' + progressObj.transferred + '/' + progressObj.total + ')'
sendStatusToWindow(logMessage)
})
autoUpdater.on('update-downloaded', (info) => {
sendStatusToWindow('Update downloaded')
log.info(info)
})

// Quit when all windows are closed.
app.on('window-all-closed', () => {
// On macOS it is common for applications and their menu bar
Expand Down Expand Up @@ -81,6 +115,12 @@ app.on('ready', async () => {
createWindow()
})

// This will immediately download an update, then install when the
// app quits.
app.on('ready', function () {
autoUpdater.checkForUpdatesAndNotify()
})

// Exit cleanly on request from parent process in development mode.
if (isDevelopment) {
if (process.platform === 'win32') {
Expand Down
51 changes: 27 additions & 24 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1613,12 +1613,10 @@
resolved "https://registry.yarnpkg.com/@types/q/-/q-1.5.4.tgz#15925414e0ad2cd765bfef58842f7e26a7accb24"
integrity sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==

"@types/semver@^7.1.0":
version "7.2.0"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.2.0.tgz#0d72066965e910531e1db4621c15d0ca36b8d83b"
integrity sha512-TbB0A8ACUWZt3Y6bQPstW9QNbhNeebdgLX4T/ZfkrswAfUzRiXrgd9seol+X379Wa589Pu4UEx9Uok0D4RjRCQ==
dependencies:
"@types/node" "*"
"@types/semver@^7.3.1":
version "7.3.4"
resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.4.tgz#43d7168fec6fa0988bb1a513a697b29296721afb"
integrity sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ==

"@types/stack-utils@^1.0.1":
version "1.0.1"
Expand Down Expand Up @@ -3778,14 +3776,6 @@ builder-util-runtime@8.3.0:
debug "^4.1.1"
sax "^1.2.4"

builder-util-runtime@8.7.0:
version "8.7.0"
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.0.tgz#e48ad004835c8284662e8eaf47a53468c66e8e8d"
integrity sha512-G1AqqVM2vYTrSFR982c1NNzwXKrGLQjVjaZaWQdn4O6Z3YKjdMDofw88aD9jpyK9ZXkrCxR0tI3Qe9wNbyTlXg==
dependencies:
debug "^4.1.1"
sax "^1.2.4"

builder-util-runtime@8.7.1:
version "8.7.1"
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.1.tgz#23c808cddd650d4376a7a1518ec1e80e85c10f00"
Expand All @@ -3794,6 +3784,14 @@ builder-util-runtime@8.7.1:
debug "^4.2.0"
sax "^1.2.4"

builder-util-runtime@8.7.2:
version "8.7.2"
resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.2.tgz#d93afc71428a12789b437e13850e1fa7da956d72"
integrity sha512-xBqv+8bg6cfnzAQK1k3OGpfaHg+QkPgIgpEkXNhouZ0WiUkyZCftuRc2LYzQrLucFywpa14Xbc6+hTbpq83yRA==
dependencies:
debug "^4.1.1"
sax "^1.2.4"

builder-util@21.2.0, builder-util@~21.2.0:
version "21.2.0"
resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-21.2.0.tgz#aba721190e4e841009d9fb4b88f1130ed616522f"
Expand Down Expand Up @@ -5635,6 +5633,11 @@ electron-download@^4.1.1:
semver "^5.4.1"
sumchecker "^2.0.2"

electron-log@^4.2.4:
version "4.2.4"
resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-4.2.4.tgz#a13e42a9fc42ca2cc7d2603c3746352efa82112e"
integrity sha512-CXbDU+Iwi+TjKzugKZmTRIORIPe3uQRqgChUl19fkW/reFUn5WP7dt+cNGT3bkLV8xfPilpkPFv33HgtmLLewQ==

electron-notarize@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.0.0.tgz#bc925b1ccc3f79e58e029e8c4706572b01a9fd8f"
Expand Down Expand Up @@ -5675,18 +5678,18 @@ electron-to-chromium@^1.3.413, electron-to-chromium@^1.3.47:
resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.448.tgz#682831ecf3ce505231978f7c795a2813740cae7c"
integrity sha512-WOr3SrZ55lUFYugA6sUu3H3ZoxVIH5o3zTSqYS+2DOJJP4hnHmBiD1w432a2YFW/H2G5FIxE6DB06rv+9dUL5g==

electron-updater@^4.2.0:
version "4.3.1"
resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.1.tgz#9d485b6262bc56fcf7ee62b1dc1b3b105a3e96a7"
integrity sha512-UDC5AHCgeiHJYDYWZG/rsl1vdAFKqI/Lm7whN57LKAk8EfhTewhcEHzheRcncLgikMcQL8gFo1KeX51tf5a5Wg==
electron-updater@^4.3.5:
version "4.3.5"
resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.5.tgz#4fb36f593a031c87ea07ee141c9f064d5deffb15"
integrity sha512-5jjN7ebvfj1cLI0VZMdCnJk6aC4bP+dy7ryBf21vArR0JzpRVk0OZHA2QBD+H5rm6ZSeDYHOY6+8PrMEqJ4wlQ==
dependencies:
"@types/semver" "^7.1.0"
builder-util-runtime "8.7.0"
fs-extra "^9.0.0"
js-yaml "^3.13.1"
"@types/semver" "^7.3.1"
builder-util-runtime "8.7.2"
fs-extra "^9.0.1"
js-yaml "^3.14.0"
lazy-val "^1.0.4"
lodash.isequal "^4.5.0"
semver "^7.1.3"
semver "^7.3.2"

electron@^8.4.0:
version "8.4.0"
Expand Down Expand Up @@ -11866,7 +11869,7 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.2.0, semver@^6.3.0:
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==

semver@^7.1.3, semver@^7.2.1, semver@^7.3.2:
semver@^7.2.1, semver@^7.3.2:
version "7.3.2"
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
Expand Down

0 comments on commit d0b281c

Please sign in to comment.