11"use strict" ;
22const path = require ( "path" ) ;
33
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" ) ;
67
78const { setApplicationMenu } = require ( "./menu" ) ;
89const { getEnabledPlugins, store } = require ( "./store" ) ;
@@ -15,6 +16,7 @@ require("electron-debug")();
1516
1617// Prevent window being garbage collected
1718let mainWindow ;
19+ autoUpdater . autoDownload = false ;
1820
1921let icon = "assets/youtube-music.png" ;
2022if ( process . platform == "win32" ) {
@@ -120,6 +122,20 @@ app.on("activate", () => {
120122app . on ( "ready" , ( ) => {
121123 setApplicationMenu ( ) ;
122124 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+ }
123139
124140 // Optimized for Mac OS X
125141 if ( process . platform === "darwin" ) {
0 commit comments