diff --git a/main/background.ts b/main/background.ts index c10464a2..c4b118f5 100644 --- a/main/background.ts +++ b/main/background.ts @@ -3,6 +3,7 @@ import serve from "electron-serve"; import createWindow from "./helpers/createWindow"; import getPort from "get-port"; import { name } from "../package.json"; +const { autoUpdater } = require("electron-updater"); // import modules import { setMenu } from "./modules/menu"; @@ -14,7 +15,6 @@ import { createServer, closeServer } from "./server"; import client from "./utils/webtorrent"; import { cleanup } from "./modules/cast"; import { EventEmitter } from "events"; -import { checkForUpdate } from "./utils/checkForUpdate"; EventEmitter.defaultMaxListeners = 0; @@ -33,8 +33,7 @@ if (app.isPackaged) { async function _createWindow() { await app.whenReady(); - - await checkForUpdate(); + await autoUpdater.checkForUpdatesAndNotify(); const apiPort = await getPort({ port: getPort.makeRange(3000, 3010), diff --git a/main/utils/checkForUpdate.ts b/main/utils/checkForUpdate.ts deleted file mode 100644 index 9e311c79..00000000 --- a/main/utils/checkForUpdate.ts +++ /dev/null @@ -1,29 +0,0 @@ -import axios from "axios"; -import semver from "semver"; -import { version } from "../../package.json"; -import { dialog, shell, app } from "electron"; - -export async function checkForUpdate() { - try { - const { data } = await axios.get( - "https://api.github.com/repos/ritz078/snape/releases/latest" - ); - - const { html_url, name } = data; - - if (semver.gt(name, version)) { - const { response } = await dialog.showMessageBox({ - title: "Update Available", - buttons: ["Download now", "Remind me later"], - message: `A new version of Snape is available. Please update to the latest release.`, - defaultId: 0, - cancelId: 1, - }); - - if (response === 0) { - await shell.openExternal(html_url); - app.quit(); - } - } - } catch (e) {} -} diff --git a/package.json b/package.json index d34d95b3..d0078a95 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "internal-ip": "^6.0.0", "mime": "^2.4.4", "range-parser": "^1.2.1", - "semver": "^7.3.2", "vlc-command": "^1.2.0", "webtorrent": "0.108.1" }, @@ -48,6 +47,7 @@ "electron": "^8.2.3", "electron-builder": "^22.5.1", "electron-notarize": "^0.3.0", + "electron-updater": "^4.2.5", "husky": "^4.2.3", "imagemin-lint-staged": "^0.4.0", "lint-staged": "^10.1.7", diff --git a/website/src/pages/index.tsx b/website/src/pages/index.tsx index 12194f5c..6293c4ce 100644 --- a/website/src/pages/index.tsx +++ b/website/src/pages/index.tsx @@ -67,18 +67,19 @@ export default () => { -
- - {(src) => ( + + + {(src) => ( +
- )} - -
+
+ )} +