From 7fb6eb19498095ca586c3de6f7fd8929ac12b44b Mon Sep 17 00:00:00 2001 From: beyondkmp Date: Wed, 23 Apr 2025 16:13:55 +0800 Subject: [PATCH] feat(auto-update): improve auto-update toggle functionality (#5215) * feat(auto-update): improve auto-update toggle functionality - Added setAutoUpdate method in AppUpdater to control auto-update behavior. - Updated IPC handler to set auto-update status based on user preference. - Modified AboutSettings component to conditionally display update options based on auto-check setting. * update autoupdate position --- src/main/ipc.ts | 1 + src/main/services/AppUpdater.ts | 5 +++++ src/renderer/src/pages/settings/AboutSettings.tsx | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/ipc.ts b/src/main/ipc.ts index 48cf8e36..e2267047 100644 --- a/src/main/ipc.ts +++ b/src/main/ipc.ts @@ -104,6 +104,7 @@ export function registerIpc(mainWindow: BrowserWindow, app: Electron.App) { // auto update ipcMain.handle(IpcChannel.App_SetAutoUpdate, (_, isActive: boolean) => { + appUpdater.setAutoUpdate(isActive) configManager.setAutoUpdate(isActive) }) diff --git a/src/main/services/AppUpdater.ts b/src/main/services/AppUpdater.ts index 162fcb0a..35418bf5 100644 --- a/src/main/services/AppUpdater.ts +++ b/src/main/services/AppUpdater.ts @@ -55,6 +55,11 @@ export default class AppUpdater { this.autoUpdater = autoUpdater } + public setAutoUpdate(isActive: boolean) { + autoUpdater.autoDownload = isActive + autoUpdater.autoInstallOnAppQuit = isActive + } + public async showUpdateDialog(mainWindow: BrowserWindow) { if (!this.releaseInfo) { return diff --git a/src/renderer/src/pages/settings/AboutSettings.tsx b/src/renderer/src/pages/settings/AboutSettings.tsx index 25934137..3ada653f 100644 --- a/src/renderer/src/pages/settings/AboutSettings.tsx +++ b/src/renderer/src/pages/settings/AboutSettings.tsx @@ -168,7 +168,7 @@ const AboutSettings: FC = () => { )} - {hasNewVersion && update.info && ( + {autoCheckUpdate && hasNewVersion && update.info && (