diff --git a/src/native/autoLaunch.ts b/src/native/autoLaunch.ts index 5e60c39..5c52141 100644 --- a/src/native/autoLaunch.ts +++ b/src/native/autoLaunch.ts @@ -8,16 +8,20 @@ export const autoLaunch = new AutoLaunch({ name: "Stoat", }); -ipcMain.on("isAutostart?", () => - autoLaunch - .isEnabled() - .then((enabled) => mainWindow.webContents.send("isAutostart", enabled)), -); - -ipcMain.on("setAutostart", (_event, state: boolean) => { - if (state) { - autoLaunch.enable(); - } else { - autoLaunch.disable(); - } +ipcMain.handle("getAutostart", async () => { + const enabled = await autoLaunch.isEnabled(); + return enabled; +}); + +ipcMain.handle("setAutostart", async (_event, state: boolean) => { + if (state) { + await autoLaunch.enable(); + console.log("Received new configuration autoStart: true"); + } else { + await autoLaunch.disable(); + console.log("Received new configuration autoStart: false"); + } + + const enabled = await autoLaunch.isEnabled(); + return enabled; }); diff --git a/src/world/config.ts b/src/world/config.ts index 8d0a202..c5ee059 100644 --- a/src/world/config.ts +++ b/src/world/config.ts @@ -8,10 +8,9 @@ contextBridge.exposeInMainWorld("desktopConfig", { get: () => config, set: (config: DesktopConfig) => ipcRenderer.send("config", config), getAutostart() { - ipcRenderer.send("isAutostart?"); - return new Promise((resolve) => ipcRenderer.once("isAutostart", resolve)); + return ipcRenderer.invoke("getAutostart") as Promise; }, setAutostart(value: boolean) { - ipcRenderer.send("setAutostart", value); + return ipcRenderer.invoke("setAutostart", value) as Promise; }, });