fix: adds the functionality to update the update interval after saving a profile. (#671)

This commit is contained in:
Xia Wanxu 2025-05-30 10:17:08 +08:00 committed by GitHub
parent bdb7fb6489
commit da5336ee36
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 11 additions and 3 deletions

View File

@ -89,6 +89,7 @@ import { getImageDataURL } from './image'
import { startMonitor } from '../resolve/trafficMonitor'
import { closeFloatingWindow, showContextMenu, showFloatingWindow } from '../resolve/floatingWindow'
import i18next from 'i18next'
import { addProfileUpdater } from '../core/profileUpdater'
function ipcErrorWrapper<T>( // eslint-disable-next-line @typescript-eslint/no-explicit-any
fn: (...args: any[]) => Promise<T> // eslint-disable-next-line @typescript-eslint/no-explicit-any
@ -163,6 +164,7 @@ export function registerIpcMainHandlers(): void {
ipcMain.handle('changeCurrentProfile', (_e, id) => ipcErrorWrapper(changeCurrentProfile)(id))
ipcMain.handle('addProfileItem', (_e, item) => ipcErrorWrapper(addProfileItem)(item))
ipcMain.handle('removeProfileItem', (_e, id) => ipcErrorWrapper(removeProfileItem)(id))
ipcMain.handle('addProfileUpdater', (_e, item) => ipcErrorWrapper(addProfileUpdater)(item))
ipcMain.handle('getOverrideConfig', (_e, force) => ipcErrorWrapper(getOverrideConfig)(force))
ipcMain.handle('setOverrideConfig', (_e, config) => ipcErrorWrapper(setOverrideConfig)(config))
ipcMain.handle('getOverrideItem', (_e, id) => ipcErrorWrapper(getOverrideItem)(id))

View File

@ -16,7 +16,7 @@ import {
import React, { useState } from 'react'
import SettingItem from '../base/base-setting-item'
import { useOverrideConfig } from '@renderer/hooks/use-override-config'
import { restartCore } from '@renderer/utils/ipc'
import { restartCore, addProfileUpdater } from '@renderer/utils/ipc'
import { MdDeleteForever } from 'react-icons/md'
import { FaPlus } from 'react-icons/fa6'
import { useTranslation } from 'react-i18next'
@ -36,13 +36,15 @@ const EditInfoModal: React.FC<Props> = (props) => {
const onSave = async (): Promise<void> => {
try {
await updateProfileItem({
const updatedItem = {
...values,
override: values.override?.filter(
(i) =>
overrideItems.find((t) => t.id === i) && !overrideItems.find((t) => t.id === i)?.global
)
})
};
await updateProfileItem(updatedItem)
await addProfileUpdater(updatedItem)
await restartCore()
onClose()
} catch (e) {

View File

@ -147,6 +147,10 @@ export async function updateProfileItem(item: IProfileItem): Promise<void> {
return ipcErrorWrapper(await window.electron.ipcRenderer.invoke('updateProfileItem', item))
}
export async function addProfileUpdater(item: IProfileItem): Promise<void> {
return ipcErrorWrapper(await window.electron.ipcRenderer.invoke('addProfileUpdater', item))
}
export async function getProfileStr(id: string): Promise<string> {
return ipcErrorWrapper(await window.electron.ipcRenderer.invoke('getProfileStr', id))
}