@@ -12,8 +12,6 @@ let win: BrowserWindow | null
1212const WINDOW_WIDTH = 380
1313const WINDOW_HEIGHT = 460
1414
15- let TEST_MODE = false
16-
1715const installExtensions = async ( ) => {
1816 const installer = require ( 'electron-devtools-installer' )
1917 const forceDownload = ! ! process . env . UPGRADE_EXTENSIONS
@@ -58,13 +56,14 @@ const setup = async () => {
5856 log . debug ( 'Starting the app' )
5957
6058 try {
59+ autoUpdater . autoDownload = false
60+
6161 if ( process . env . NODE_ENV !== 'production' ) {
62+ // __dirname is the "dist" folder
63+ autoUpdater . updateConfigPath = path . join ( __dirname , '../dev-app-update.yml' )
6264 await installExtensions ( )
6365 }
6466
65- const updateInfo = await autoUpdater . checkForUpdatesAndNotify ( )
66- log . info ( `Latest result for the update check: ${ JSON . stringify ( updateInfo ) } ` )
67-
6867 createTray ( )
6968 createWindow ( )
7069 createMenu ( )
@@ -122,17 +121,15 @@ const createMenu = () => {
122121 } ,
123122 } ,
124123 {
125- label : 'Toggle Test Mode ' ,
124+ label : 'Toggle Test Data ' ,
126125 click : ( ) => {
127- if ( win ) {
128- if ( TEST_MODE ) {
129- win . loadURL ( 'http://localhost:2003' )
130- } else {
131- win . loadURL ( 'http://localhost:2003?test' )
132- }
133-
134- TEST_MODE = ! TEST_MODE
135- }
126+ toggleQueryParam ( 'test-data' )
127+ } ,
128+ } ,
129+ {
130+ label : 'Toggle Fake update' ,
131+ click : ( ) => {
132+ toggleQueryParam ( 'fake-update' )
136133 } ,
137134 } ,
138135 ]
@@ -169,6 +166,20 @@ const createMenu = () => {
169166 Menu . setApplicationMenu ( menu )
170167}
171168
169+ const toggleQueryParam = ( parameter : string ) => {
170+ if ( win ) {
171+ const currentUrl = new URL ( win . webContents . getURL ( ) )
172+
173+ if ( currentUrl . searchParams . has ( parameter ) ) {
174+ currentUrl . searchParams . delete ( parameter )
175+ } else {
176+ currentUrl . searchParams . set ( parameter , '1' )
177+ }
178+
179+ win . loadURL ( currentUrl . href )
180+ }
181+ }
182+
172183const createWindow = ( ) => {
173184 win = new BrowserWindow ( {
174185 width : WINDOW_WIDTH ,
@@ -202,9 +213,7 @@ const createWindow = () => {
202213 } )
203214
204215 win . on ( 'blur' , ( ) => {
205- if ( ! TEST_MODE ) {
206- hideWindow ( )
207- }
216+ hideWindow ( )
208217 } )
209218}
210219
@@ -240,6 +249,18 @@ ipcMain.on('update-open-merge-requests', (_: any, openMergeRequests: number) =>
240249 }
241250} )
242251
252+ ipcMain . on ( 'download-and-install-update' , ( ) => {
253+ autoUpdater . once ( 'update-downloaded' , ( ) => {
254+ autoUpdater . quitAndInstall ( )
255+ } )
256+
257+ autoUpdater . downloadUpdate ( )
258+ } )
259+
260+ ipcMain . handle ( 'check-for-updates' , async ( ) => {
261+ return autoUpdater . checkForUpdates ( ) . catch ( error => log . error ( 'error while checking for updates' , error ) )
262+ } )
263+
243264ipcMain . on ( 'close-application' , ( ) => {
244265 app . quit ( )
245266} )
0 commit comments