diff --git a/CHANGES.md b/CHANGES.md index 2c9bd41..b77cdf5 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -3,6 +3,7 @@ v1.3.4 - Loading: Fix loading local files in App - Fidelity: Latest wabac.js +- Autoupdate: Add initial support for auto-updating v1.3.3 - UI: Component customization improvements, update to latest wabac.js diff --git a/package.json b/package.json index c22b157..17f7375 100644 --- a/package.json +++ b/package.json @@ -11,6 +11,8 @@ "@fortawesome/fontawesome-free": "^5.13.0", "@webrecorder/wabac": "^2.3.6", "bulma": "^0.9.0", + "electron-log": "^4.3.0", + "electron-updater": "^4.3.5", "fetch-ndjson": "^1.1.0", "flexsearch": "^0.6.32", "ipfs-core": "^0.2.0", @@ -88,7 +90,10 @@ }, "mac": { "category": "public.app-category.utilities", - "target": "dmg", + "target": [ + "dmg", + "zip" + ], "hardenedRuntime": true, "gatekeeperAssess": false, "entitlements": "build/entitlements.mac.plist", @@ -110,7 +115,7 @@ ] }, "win": { - "target": "portable", + "target": "nsis", "extraResources": [ "plugins-win" ] diff --git a/src/electron-replay-app.js b/src/electron-replay-app.js index ddefa6d..99ecd87 100644 --- a/src/electron-replay-app.js +++ b/src/electron-replay-app.js @@ -11,6 +11,9 @@ import { IPFSClient } from '@webrecorder/wabac/src/ipfs'; import { PassThrough, Readable } from 'stream'; +import { autoUpdater } from "electron-updater"; +import log from "electron-log"; + import mime from 'mime-types'; global.Headers = Headers; @@ -158,7 +161,15 @@ class ElectronReplayApp }); } + checkUpdates() { + autoUpdater.logger = log; + autoUpdater.logger.transports.file.level = 'info'; + autoUpdater.checkForUpdatesAndNotify(); + } + onAppReady() { + this.checkUpdates(); + this.screenSize = screen.getPrimaryDisplay().workAreaSize; app.on('web-contents-created', (event, contents) => { diff --git a/yarn.lock b/yarn.lock index 7d3b1fc..3f2b3b1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -552,6 +552,11 @@ resolved "https://registry.yarnpkg.com/@types/pvutils/-/pvutils-0.0.2.tgz#e21684962cfa58ac920fd576d90556032dc86009" integrity sha512-CgQAm7pjyeF3Gnv78ty4RBVIfluB+Td+2DR8iPaU0prF18pkzptHHP+DoKPfpsJYknKsVZyVsJEu5AuGgAqQ5w== +"@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/yargs-parser@*": version "15.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-15.0.0.tgz#cb3f9f741869e20cce330ffbeb9271590483882d" @@ -1569,6 +1574,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@22.7.0: version "22.7.0" resolved "https://registry.yarnpkg.com/builder-util/-/builder-util-22.7.0.tgz#0776a66e6d6e408a78bed7f17a7ad22516d9e7f0" @@ -2711,6 +2724,11 @@ electron-builder@^22.7.0: update-notifier "^4.1.0" yargs "^15.3.1" +electron-log@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/electron-log/-/electron-log-4.3.0.tgz#6e841a5c9af34ed3ca83e5a8a4156fdc39bed464" + integrity sha512-iuJjH/ZEJkDyCbuAMvvFxAjCMDLMXIQ5NqvppETGrbtf4b/007r5P36BSvexdy0UzwDNzDtIuEXLR34vRXWZrg== + electron-notarize@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/electron-notarize/-/electron-notarize-1.0.0.tgz#bc925b1ccc3f79e58e029e8c4706572b01a9fd8f" @@ -2733,6 +2751,19 @@ electron-publish@22.7.0: lazy-val "^1.0.4" mime "^2.4.5" +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.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.3.2" + electron@^10.1.3: version "10.1.3" resolved "https://registry.yarnpkg.com/electron/-/electron-10.1.3.tgz#7e276e373bf30078bd4cb1184850a91268dc0e6c" @@ -5928,6 +5959,11 @@ lodash.get@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= +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.max@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/lodash.max/-/lodash.max-4.0.1.tgz#8735566c618b35a9f760520b487ae79658af136a"