From a9670500583550f98a95552b16ab552773096abe Mon Sep 17 00:00:00 2001 From: Misaka_Company Date: Tue, 3 Mar 2026 14:57:06 +0800 Subject: [PATCH] feat: update settings handler to use savePartialSettings - Change parameter type from SettingsData to Partial - Call savePartialSettings() instead of saveAllSettings() - Return detailed error messages from savePartialSettings - Add logging for sections being saved This change enables partial settings save functionality, allowing the UI to save only specific settings sections without requiring the complete settings object. Co-Authored-By: Claude Sonnet 4.5 --- src/main/ipc/settings-handler.ts | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/src/main/ipc/settings-handler.ts b/src/main/ipc/settings-handler.ts index 08514cd..8ac2bc0 100644 --- a/src/main/ipc/settings-handler.ts +++ b/src/main/ipc/settings-handler.ts @@ -78,25 +78,38 @@ export function registerSettingsHandlers(): void { }) /** - * Save settings + * Save settings (updated to use partial save) */ ipcMain.handle( 'settings:saveSettings', - async (_event, settings: SettingsData): Promise => { + async (_event, settings: Partial): Promise => { try { - log.info('Saving settings') - const success = await configManager.saveAllSettings(settings) - if (success) { + log.info('Saving settings', { + sections: Object.keys(settings) + }) + + // Use partial save method + const result = await configManager.savePartialSettings(settings) + + if (result.success) { log.info('Settings saved successfully') return { success: true } } else { - log.warn('Failed to save settings') - return { success: false, error: '保存设置失败' } + log.warn('Failed to save settings', { + error: result.error + }) + return { + success: false, + error: result.error || '保存设置失败' + } } } catch (error) { const message = error instanceof Error ? error.message : 'Unknown error' log.error('Error saving settings', { error: message }) - return { success: false, error: `保存设置失败:${message}` } + return { + success: false, + error: `保存设置失败:${message}` + } } } )