diff --git a/main.js b/main.js index dd9803100..56ffc84ce 100644 --- a/main.js +++ b/main.js @@ -66,8 +66,16 @@ menubarApp.on('ready', () => { } }); + ipcMain.handle('get-platform', async () => { + return process.platform; + }); + ipcMain.handle('get-app-version', async () => { + return app.getVersion(); + }); + ipcMain.on('reopen-window', () => menubarApp.showWindow()); ipcMain.on('hide-window', () => menubarApp.hideWindow()); + ipcMain.on('app-quit', () => menubarApp.app.quit()); ipcMain.on('update-icon', (_, arg) => { if (!menubarApp.tray.isDestroyed()) { @@ -78,12 +86,8 @@ menubarApp.on('ready', () => { } } }); - ipcMain.handle('get-platform', async () => { - return process.platform; - }); - - ipcMain.handle('get-app-version', async () => { - return app.getVersion(); + ipcMain.on('set-login-item-settings', (event, settings) => { + app.setLoginItemSettings(settings); }); menubarApp.window.webContents.on('devtools-opened', () => { diff --git a/src/utils/comms.test.ts b/src/utils/comms.test.ts index 8a5c5af83..389274bba 100644 --- a/src/utils/comms.test.ts +++ b/src/utils/comms.test.ts @@ -7,10 +7,8 @@ import { const { ipcRenderer, shell } = require('electron'); -const remote = require('@electron/remote'); - describe('utils/comms.ts', () => { - beforeEach(function () { + beforeEach(function() { jest.spyOn(ipcRenderer, 'send'); }); @@ -45,24 +43,20 @@ describe('utils/comms.ts', () => { }); it('should setAutoLaunch (true)', () => { - jest.spyOn(remote.app, 'setLoginItemSettings'); - setAutoLaunch(true); - expect(remote.app.setLoginItemSettings).toHaveBeenCalledTimes(1); - expect(remote.app.setLoginItemSettings).toHaveBeenCalledWith({ + + expect(ipcRenderer.send).toHaveBeenCalledWith('set-login-item-settings', { openAtLogin: true, openAsHidden: true, }); }); it('should setAutoLaunch (false)', () => { - jest.spyOn(remote.app, 'setLoginItemSettings'); - setAutoLaunch(false); - expect(remote.app.setLoginItemSettings).toHaveBeenCalledTimes(1); - expect(remote.app.setLoginItemSettings).toHaveBeenCalledWith({ - openAtLogin: false, + + expect(ipcRenderer.send).toHaveBeenCalledWith('set-login-item-settings', { openAsHidden: false, + openAtLogin: false, }); }); }); diff --git a/src/utils/comms.ts b/src/utils/comms.ts index 0f7f4e25a..4337170ee 100644 --- a/src/utils/comms.ts +++ b/src/utils/comms.ts @@ -1,15 +1,11 @@ const { ipcRenderer, shell } = require('electron'); -const remote = require('@electron/remote'); export function openExternalLink(url: string): void { shell.openExternal(url); } export function setAutoLaunch(value: boolean): void { - remote.app.setLoginItemSettings({ - openAtLogin: value, - openAsHidden: value, - }); + ipcRenderer.send('set-login-item-settings', { openAtLogin: value, openAsHidden: value }); } export function updateTrayIcon(notificationsLength = 0): void {