From 4b6d42612a928e9ec39b46dce0ae54c2a129fd91 Mon Sep 17 00:00:00 2001 From: Andrew Gundersen Date: Mon, 12 Apr 2021 12:18:37 -0500 Subject: [PATCH] auto updates --- .gitignore | 3 ++ .gitlab-ci.yml | 15 ---------- package.json | 16 +++++----- src/background.ts | 23 ++++++++++++++- src/background/init.ts | 2 +- yarn.lock | 67 ++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 100 insertions(+), 26 deletions(-) delete mode 100644 .gitlab-ci.yml diff --git a/.gitignore b/.gitignore index a88bfaa..46762a2 100644 --- a/.gitignore +++ b/.gitignore @@ -28,6 +28,9 @@ pnpm-debug.log* #Electron-builder output /dist_electron +#Electron-builder config +electron-builder.yml + #Window and session states session.json window.json diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml deleted file mode 100644 index ef8a582..0000000 --- a/.gitlab-ci.yml +++ /dev/null @@ -1,15 +0,0 @@ -variables: - VERSION_ID: '1.0:$CI_PIPELINE_ID' - -stages: - - build - -build: - image: crimata/electron-builder-mac - stage: build - artifacts: - paths: - - $CI_PROJECT_DIR/dist/*.* - script: - - sed "s/0.0.0/${VERSION_ID}/g" package.json > _package.json && mv _package.json package.json - - yarn && yarn electron:build diff --git a/package.json b/package.json index 7117a2c..852a3e9 100644 --- a/package.json +++ b/package.json @@ -9,15 +9,12 @@ }, "main": "background.js", "scripts": { - "dev": "yarn electron:serve", - "serve": "vue-cli-service serve", - "build": "vue-cli-service build", - "test:unit": "vue-cli-service test:unit", - "lint": "vue-cli-service lint", - "electron:build": "vue-cli-service electron:build", - "electron:serve": "vue-cli-service electron:serve", - "postinstall": "electron-builder install-app-deps", - "postuninstal": "electron-builder install-app-deps" + "dev": "vue-cli-service electron:serve", + "build": "vue-cli-service electron:build" + }, + "repository": { + "type" : "git", + "url" : "https://gitlab.com/crimata/electron-app.git" }, "dependencies": { "@google-cloud/speech": "^4.2.0", @@ -30,6 +27,7 @@ "animejs": "^3.2.0", "core-js": "^3.6.5", "electron-is-dev": "^2.0.0", + "electron-updater": "^4.3.8", "mitt": "^2.1.0", "naudiodon": "^2.3.2", "node-record-lpcm16": "^1.0.1", diff --git a/src/background.ts b/src/background.ts index d905881..1613f63 100644 --- a/src/background.ts +++ b/src/background.ts @@ -5,7 +5,7 @@ "use strict"; -import { protocol } from "electron"; +import { protocol, autoUpdater, dialog } from "electron"; import { initApp } from './background/init'; // Scheme must be registered before the app is ready @@ -23,3 +23,24 @@ const isDev = require('electron-is-dev'); initApp(isDev); })(); + +// Auto app updates. +if (!isDev) { + autoUpdater.on('update-downloaded', (event, releaseNotes, releaseName) => { + const dialogOpts = { + type: 'info', + buttons: ['Restart', 'Later'], + title: 'Application Update', + message: releaseName, + detail: 'A new version has been downloaded. Restart the application to apply the updates.' + } + + dialog.showMessageBox(dialogOpts).then((returnValue) => { + if (returnValue.response === 0) autoUpdater.quitAndInstall() + }) + }) + + setInterval(() => { + autoUpdater.checkForUpdates() + }, 5000) +} \ No newline at end of file diff --git a/src/background/init.ts b/src/background/init.ts index f9c8e86..b2fb57b 100644 --- a/src/background/init.ts +++ b/src/background/init.ts @@ -4,7 +4,7 @@ import { app } from "electron"; import { createWindow } from './window'; import { initSession } from './session'; -import { initAudioIO, stopStream } from './audio'; +import { initAudioIO } from './audio'; import { backgroundMitt } from '@/modules/emitter'; let win: boolean; diff --git a/yarn.lock b/yarn.lock index 29d9910..8d5a2cf 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1615,6 +1615,11 @@ dependencies: "@types/node" "*" +"@types/semver@^7.3.4": + version "7.3.4" + resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.4.tgz#43d7168fec6fa0988bb1a513a697b29296721afb" + integrity sha512-+nVsLKlcUCeMzD2ufHEYuJ9a2ovstb6Dp52A5VsoKxDXgvE051XgHI/33I1EymwkRGQkwnA0LkhnUzituGs4EQ== + "@types/serve-static@*": version "1.13.6" resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.6.tgz#866b1b8dec41c36e28c7be40ac725b88be43c5c1" @@ -2678,6 +2683,11 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + arr-diff@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" @@ -3364,6 +3374,14 @@ builder-util-runtime@8.7.2: debug "^4.1.1" sax "^1.2.4" +builder-util-runtime@8.7.3: + version "8.7.3" + resolved "https://registry.yarnpkg.com/builder-util-runtime/-/builder-util-runtime-8.7.3.tgz#0aaafa52d25295c939496f62231ca9ff06c30e40" + integrity sha512-1Q2ReBqFblimF5g/TLg2+0M5Xzv0Ih5LxJ/BMWXvEy/e6pQKeeEpbkPMGsN6OiQgkygaZo5VXCXIjOkOQG5EoQ== + dependencies: + debug "^4.3.2" + sax "^1.2.4" + builder-util@22.9.1: version "22.9.1" resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.9.1.tgz#b7087a5cde477f90d718ca5d7fafb6ae261b16af" @@ -4606,6 +4624,13 @@ debug@^4.3.0: dependencies: ms "2.1.2" +debug@^4.3.2: + version "4.3.2" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" + integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== + dependencies: + ms "2.1.2" + decamelize@^1.1.2, decamelize@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" @@ -5115,6 +5140,19 @@ electron-to-chromium@^1.3.585: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.589.tgz#bd26183ed8697dde6ac19acbc16a3bf33b1f8220" integrity sha512-rQItBTFnol20HaaLm26UgSUduX7iGerwW7pEYX17MB1tI6LzFajiLV7iZ7LVcUcsN/7HrZUoCLrBauChy/IqEg== +electron-updater@^4.3.8: + version "4.3.8" + resolved "https://registry.yarnpkg.com/electron-updater/-/electron-updater-4.3.8.tgz#94f1731682a756385726183e2b04b959cb319456" + integrity sha512-/tB82Ogb2LqaXrUzAD8waJC+TZV52Pr0Znfj7w+i4D+jA2GgrKFI3Pxjp+36y9FcBMQz7kYsMHcB6c5zBJao+A== + dependencies: + "@types/semver" "^7.3.4" + builder-util-runtime "8.7.3" + fs-extra "^9.1.0" + js-yaml "^4.0.0" + lazy-val "^1.0.4" + lodash.isequal "^4.5.0" + semver "^7.3.4" + electron@^9.0.0: version "9.3.3" resolved "https://registry.yarnpkg.com/electron/-/electron-9.3.3.tgz#99a6619d5df68f97697a5d1d82ef3a8a63fcdf36" @@ -6096,6 +6134,16 @@ fs-extra@^9.0.0, fs-extra@^9.0.1: jsonfile "^6.0.1" universalify "^1.0.0" +fs-extra@^9.1.0: + version "9.1.0" + resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== + dependencies: + at-least-node "^1.0.0" + graceful-fs "^4.2.0" + jsonfile "^6.0.1" + universalify "^2.0.0" + fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" @@ -8026,6 +8074,13 @@ js-yaml@^3.13.1, js-yaml@^3.14.0: argparse "^1.0.7" esprima "^4.0.0" +js-yaml@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.0.0.tgz#f426bc0ff4b4051926cd588c71113183409a121f" + integrity sha512-pqon0s+4ScYUvX30wxQi3PogGFAlUyH0awepWvwkj4jD4v+ova3RiYw8bmA6x2rDrEaj8i/oWKoRxpVNW+Re8Q== + dependencies: + argparse "^2.0.1" + jsbn@~0.1.0: version "0.1.1" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" @@ -8520,6 +8575,11 @@ lodash.flatten@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.flatten/-/lodash.flatten-4.4.0.tgz#f31c22225a9632d2bbf8e4addbef240aa765a61f" integrity sha1-8xwiIlqWMtK7+OSt2+8kCqdlph8= +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" + integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= + lodash.isobject@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/lodash.isobject/-/lodash.isobject-3.0.2.tgz#3c8fb8d5b5bf4bf90ae06e14f2a530a4ed935e1d" @@ -11299,6 +11359,13 @@ semver@^7.2.1, semver@^7.3.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== +semver@^7.3.4: + version "7.3.5" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + semver@~5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.3.0.tgz#9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f" -- 2.43.0