fix: should not download when autoupdate is false (#5029)
This commit is contained in:
parent
73f8148a94
commit
fd3d9f17b8
@ -13,6 +13,7 @@ export enum IpcChannel {
|
|||||||
App_RestartTray = 'app:restart-tray',
|
App_RestartTray = 'app:restart-tray',
|
||||||
App_SetTheme = 'app:set-theme',
|
App_SetTheme = 'app:set-theme',
|
||||||
App_SetCustomCss = 'app:set-custom-css',
|
App_SetCustomCss = 'app:set-custom-css',
|
||||||
|
App_SetAutoUpdate = 'app:set-auto-update',
|
||||||
|
|
||||||
App_IsBinaryExist = 'app:is-binary-exist',
|
App_IsBinaryExist = 'app:is-binary-exist',
|
||||||
App_GetBinaryPath = 'app:get-binary-path',
|
App_GetBinaryPath = 'app:get-binary-path',
|
||||||
|
|||||||
@ -100,6 +100,11 @@ export function registerIpc(mainWindow: BrowserWindow, app: Electron.App) {
|
|||||||
configManager.setTrayOnClose(isActive)
|
configManager.setTrayOnClose(isActive)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
// auto update
|
||||||
|
ipcMain.handle(IpcChannel.App_SetAutoUpdate, (_, isActive: boolean) => {
|
||||||
|
configManager.setAutoUpdate(isActive)
|
||||||
|
})
|
||||||
|
|
||||||
ipcMain.handle(IpcChannel.App_RestartTray, () => TrayService.getInstance().restartTray())
|
ipcMain.handle(IpcChannel.App_RestartTray, () => TrayService.getInstance().restartTray())
|
||||||
|
|
||||||
ipcMain.handle(IpcChannel.Config_Set, (_, key: string, value: any) => {
|
ipcMain.handle(IpcChannel.Config_Set, (_, key: string, value: any) => {
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import logger from 'electron-log'
|
|||||||
import { AppUpdater as _AppUpdater, autoUpdater } from 'electron-updater'
|
import { AppUpdater as _AppUpdater, autoUpdater } from 'electron-updater'
|
||||||
|
|
||||||
import icon from '../../../build/icon.png?asset'
|
import icon from '../../../build/icon.png?asset'
|
||||||
|
import { configManager } from './ConfigManager'
|
||||||
|
|
||||||
export default class AppUpdater {
|
export default class AppUpdater {
|
||||||
autoUpdater: _AppUpdater = autoUpdater
|
autoUpdater: _AppUpdater = autoUpdater
|
||||||
@ -15,7 +16,8 @@ export default class AppUpdater {
|
|||||||
|
|
||||||
autoUpdater.logger = logger
|
autoUpdater.logger = logger
|
||||||
autoUpdater.forceDevUpdateConfig = !app.isPackaged
|
autoUpdater.forceDevUpdateConfig = !app.isPackaged
|
||||||
autoUpdater.autoDownload = true
|
autoUpdater.autoDownload = configManager.getAutoUpdate()
|
||||||
|
autoUpdater.autoInstallOnAppQuit = configManager.getAutoUpdate()
|
||||||
|
|
||||||
// 检测下载错误
|
// 检测下载错误
|
||||||
autoUpdater.on('error', (error) => {
|
autoUpdater.on('error', (error) => {
|
||||||
|
|||||||
@ -14,7 +14,8 @@ enum ConfigKeys {
|
|||||||
ZoomFactor = 'ZoomFactor',
|
ZoomFactor = 'ZoomFactor',
|
||||||
Shortcuts = 'shortcuts',
|
Shortcuts = 'shortcuts',
|
||||||
ClickTrayToShowQuickAssistant = 'clickTrayToShowQuickAssistant',
|
ClickTrayToShowQuickAssistant = 'clickTrayToShowQuickAssistant',
|
||||||
EnableQuickAssistant = 'enableQuickAssistant'
|
EnableQuickAssistant = 'enableQuickAssistant',
|
||||||
|
AutoUpdate = 'autoUpdate'
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ConfigManager {
|
export class ConfigManager {
|
||||||
@ -136,6 +137,14 @@ export class ConfigManager {
|
|||||||
this.set(ConfigKeys.EnableQuickAssistant, value)
|
this.set(ConfigKeys.EnableQuickAssistant, value)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getAutoUpdate(): boolean {
|
||||||
|
return this.get<boolean>(ConfigKeys.AutoUpdate, true)
|
||||||
|
}
|
||||||
|
|
||||||
|
setAutoUpdate(value: boolean) {
|
||||||
|
this.set(ConfigKeys.AutoUpdate, value)
|
||||||
|
}
|
||||||
|
|
||||||
set(key: string, value: unknown) {
|
set(key: string, value: unknown) {
|
||||||
this.store.set(key, value)
|
this.store.set(key, value)
|
||||||
}
|
}
|
||||||
|
|||||||
1
src/preload/index.d.ts
vendored
1
src/preload/index.d.ts
vendored
@ -30,6 +30,7 @@ declare global {
|
|||||||
restartTray: () => void
|
restartTray: () => void
|
||||||
setTheme: (theme: 'light' | 'dark') => void
|
setTheme: (theme: 'light' | 'dark') => void
|
||||||
setCustomCss: (css: string) => void
|
setCustomCss: (css: string) => void
|
||||||
|
setAutoUpdate: (isActive: boolean) => void
|
||||||
reload: () => void
|
reload: () => void
|
||||||
clearCache: () => Promise<{ success: boolean; error?: string }>
|
clearCache: () => Promise<{ success: boolean; error?: string }>
|
||||||
system: {
|
system: {
|
||||||
|
|||||||
@ -20,6 +20,7 @@ const api = {
|
|||||||
restartTray: () => ipcRenderer.invoke(IpcChannel.App_RestartTray),
|
restartTray: () => ipcRenderer.invoke(IpcChannel.App_RestartTray),
|
||||||
setTheme: (theme: 'light' | 'dark') => ipcRenderer.invoke(IpcChannel.App_SetTheme, theme),
|
setTheme: (theme: 'light' | 'dark') => ipcRenderer.invoke(IpcChannel.App_SetTheme, theme),
|
||||||
setCustomCss: (css: string) => ipcRenderer.invoke(IpcChannel.App_SetCustomCss, css),
|
setCustomCss: (css: string) => ipcRenderer.invoke(IpcChannel.App_SetCustomCss, css),
|
||||||
|
setAutoUpdate: (isActive: boolean) => ipcRenderer.invoke(IpcChannel.App_SetAutoUpdate, isActive),
|
||||||
openWebsite: (url: string) => ipcRenderer.invoke(IpcChannel.Open_Website, url),
|
openWebsite: (url: string) => ipcRenderer.invoke(IpcChannel.Open_Website, url),
|
||||||
clearCache: () => ipcRenderer.invoke(IpcChannel.App_ClearCache),
|
clearCache: () => ipcRenderer.invoke(IpcChannel.App_ClearCache),
|
||||||
system: {
|
system: {
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import {
|
|||||||
AssistantIconType,
|
AssistantIconType,
|
||||||
SendMessageShortcut,
|
SendMessageShortcut,
|
||||||
setAssistantIconType,
|
setAssistantIconType,
|
||||||
|
setAutoCheckUpdate as _setAutoCheckUpdate,
|
||||||
setLaunchOnBoot,
|
setLaunchOnBoot,
|
||||||
setLaunchToTray,
|
setLaunchToTray,
|
||||||
setSendMessageShortcut as _setSendMessageShortcut,
|
setSendMessageShortcut as _setSendMessageShortcut,
|
||||||
@ -50,6 +51,11 @@ export function useSettings() {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
setAutoCheckUpdate(isAutoUpdate: boolean) {
|
||||||
|
dispatch(_setAutoCheckUpdate(isAutoUpdate))
|
||||||
|
window.api.setAutoUpdate(isAutoUpdate)
|
||||||
|
},
|
||||||
|
|
||||||
setTheme(theme: ThemeMode) {
|
setTheme(theme: ThemeMode) {
|
||||||
dispatch(setTheme(theme))
|
dispatch(setTheme(theme))
|
||||||
},
|
},
|
||||||
|
|||||||
@ -1029,7 +1029,7 @@
|
|||||||
"general.display.title": "Display Settings",
|
"general.display.title": "Display Settings",
|
||||||
"general.emoji_picker": "Emoji Picker",
|
"general.emoji_picker": "Emoji Picker",
|
||||||
"general.image_upload": "Image Upload",
|
"general.image_upload": "Image Upload",
|
||||||
"general.auto_check_update.title": "Auto update checking",
|
"general.auto_check_update.title": "Auto Update",
|
||||||
"general.reset.button": "Reset",
|
"general.reset.button": "Reset",
|
||||||
"general.reset.title": "Data Reset",
|
"general.reset.title": "Data Reset",
|
||||||
"general.restore.button": "Restore",
|
"general.restore.button": "Restore",
|
||||||
|
|||||||
@ -1364,7 +1364,7 @@
|
|||||||
"content_limit": "内容の長さ制限",
|
"content_limit": "内容の長さ制限",
|
||||||
"content_limit_tooltip": "検索結果の内容長を制限し、制限を超える内容は切り捨てられます。"
|
"content_limit_tooltip": "検索結果の内容長を制限し、制限を超える内容は切り捨てられます。"
|
||||||
},
|
},
|
||||||
"general.auto_check_update.title": "自動更新チェックを有効にする",
|
"general.auto_check_update.title": "自動更新",
|
||||||
"quickPhrase": {
|
"quickPhrase": {
|
||||||
"title": "クイックフレーズ",
|
"title": "クイックフレーズ",
|
||||||
"add": "フレーズを追加",
|
"add": "フレーズを追加",
|
||||||
|
|||||||
@ -1029,7 +1029,7 @@
|
|||||||
"general.display.title": "显示设置",
|
"general.display.title": "显示设置",
|
||||||
"general.emoji_picker": "表情选择器",
|
"general.emoji_picker": "表情选择器",
|
||||||
"general.image_upload": "图片上传",
|
"general.image_upload": "图片上传",
|
||||||
"general.auto_check_update.title": "自动检测更新",
|
"general.auto_check_update.title": "自动更新",
|
||||||
"general.reset.button": "重置",
|
"general.reset.button": "重置",
|
||||||
"general.reset.title": "重置数据",
|
"general.reset.title": "重置数据",
|
||||||
"general.restore.button": "恢复",
|
"general.restore.button": "恢复",
|
||||||
|
|||||||
@ -1364,7 +1364,7 @@
|
|||||||
"content_limit": "內容長度限制",
|
"content_limit": "內容長度限制",
|
||||||
"content_limit_tooltip": "限制搜尋結果的內容長度,超過限制的內容將被截斷。"
|
"content_limit_tooltip": "限制搜尋結果的內容長度,超過限制的內容將被截斷。"
|
||||||
},
|
},
|
||||||
"general.auto_check_update.title": "啟用自動更新檢查",
|
"general.auto_check_update.title": "啟用自動更新",
|
||||||
"quickPhrase": {
|
"quickPhrase": {
|
||||||
"title": "快捷短語",
|
"title": "快捷短語",
|
||||||
"add": "新增短語",
|
"add": "新增短語",
|
||||||
|
|||||||
@ -8,7 +8,6 @@ import { useRuntime } from '@renderer/hooks/useRuntime'
|
|||||||
import { useSettings } from '@renderer/hooks/useSettings'
|
import { useSettings } from '@renderer/hooks/useSettings'
|
||||||
import { useAppDispatch } from '@renderer/store'
|
import { useAppDispatch } from '@renderer/store'
|
||||||
import { setUpdateState } from '@renderer/store/runtime'
|
import { setUpdateState } from '@renderer/store/runtime'
|
||||||
import { setAutoCheckUpdate } from '@renderer/store/settings'
|
|
||||||
import { ThemeMode } from '@renderer/types'
|
import { ThemeMode } from '@renderer/types'
|
||||||
import { compareVersions, runAsyncFunction } from '@renderer/utils'
|
import { compareVersions, runAsyncFunction } from '@renderer/utils'
|
||||||
import { Avatar, Button, Progress, Row, Switch, Tag } from 'antd'
|
import { Avatar, Button, Progress, Row, Switch, Tag } from 'antd'
|
||||||
@ -25,7 +24,7 @@ import { SettingContainer, SettingDivider, SettingGroup, SettingRow, SettingTitl
|
|||||||
const AboutSettings: FC = () => {
|
const AboutSettings: FC = () => {
|
||||||
const [version, setVersion] = useState('')
|
const [version, setVersion] = useState('')
|
||||||
const { t } = useTranslation()
|
const { t } = useTranslation()
|
||||||
const { autoCheckUpdate } = useSettings()
|
const { autoCheckUpdate, setAutoCheckUpdate } = useSettings()
|
||||||
const { theme } = useTheme()
|
const { theme } = useTheme()
|
||||||
const dispatch = useAppDispatch()
|
const dispatch = useAppDispatch()
|
||||||
const { update } = useRuntime()
|
const { update } = useRuntime()
|
||||||
@ -150,7 +149,7 @@ const AboutSettings: FC = () => {
|
|||||||
<SettingDivider />
|
<SettingDivider />
|
||||||
<SettingRow>
|
<SettingRow>
|
||||||
<SettingRowTitle>{t('settings.general.auto_check_update.title')}</SettingRowTitle>
|
<SettingRowTitle>{t('settings.general.auto_check_update.title')}</SettingRowTitle>
|
||||||
<Switch value={autoCheckUpdate} onChange={(v) => dispatch(setAutoCheckUpdate(v))} />
|
<Switch value={autoCheckUpdate} onChange={(v) => setAutoCheckUpdate(v)} />
|
||||||
</SettingRow>
|
</SettingRow>
|
||||||
</SettingGroup>
|
</SettingGroup>
|
||||||
{hasNewVersion && update.info && (
|
{hasNewVersion && update.info && (
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user