1
1
"use strict" ;
2
2
const path = require ( "path" ) ;
3
3
4
- const electron = require ( "electron" ) ;
5
- const isDev = require ( "electron-is-dev" ) ;
4
+ const electron = require ( "electron" ) ;
5
+ const isDev = require ( "electron-is-dev" ) ;
6
+ const { autoUpdater } = require ( "electron-updater" ) ;
6
7
7
8
const { setApplicationMenu } = require ( "./menu" ) ;
8
9
const { getEnabledPlugins, store } = require ( "./store" ) ;
@@ -15,6 +16,7 @@ require("electron-debug")();
15
16
16
17
// Prevent window being garbage collected
17
18
let mainWindow ;
19
+ autoUpdater . autoDownload = false ;
18
20
19
21
let icon = "assets/youtube-music.png" ;
20
22
if ( process . platform == "win32" ) {
@@ -120,6 +122,20 @@ app.on("activate", () => {
120
122
app . on ( "ready" , ( ) => {
121
123
setApplicationMenu ( ) ;
122
124
mainWindow = createMainWindow ( ) ;
125
+ if ( ! isDev ) {
126
+ autoUpdater . checkForUpdatesAndNotify ( ) ;
127
+ autoUpdater . on ( "update-available" , ( ) => {
128
+ const dialogOpts = {
129
+ type : "info" ,
130
+ buttons : [ "OK" ] ,
131
+ title : "Application Update" ,
132
+ message : "A new version is available" ,
133
+ detail :
134
+ "A new version is available and can be downloaded at https://github.com/th-ch/youtube-music/releases/latest"
135
+ } ;
136
+ electron . dialog . showMessageBox ( dialogOpts ) ;
137
+ } ) ;
138
+ }
123
139
124
140
// Optimized for Mac OS X
125
141
if ( process . platform === "darwin" ) {
0 commit comments