From ee4c310725b3a6c7b784bbbf0eb9d20122f9517c Mon Sep 17 00:00:00 2001 From: kangfenmao Date: Sat, 11 Oct 2025 16:16:09 +0800 Subject: [PATCH] feat: update migration logic and increment version for store - Incremented version in the store configuration from 161 to 162. - Updated migration logic to handle new provider integration and state adjustments. - Removed deprecated migration logic for version 161. --- src/renderer/src/store/index.ts | 2 +- src/renderer/src/store/migrate.ts | 37 +++++++++++++++---------------- 2 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/renderer/src/store/index.ts b/src/renderer/src/store/index.ts index d38c0a23ed..0d53c2ca5b 100644 --- a/src/renderer/src/store/index.ts +++ b/src/renderer/src/store/index.ts @@ -65,7 +65,7 @@ const persistedReducer = persistReducer( { key: 'cherry-studio', storage, - version: 161, + version: 162, blacklist: ['runtime', 'messages', 'messageBlocks', 'tabs'], migrate }, diff --git a/src/renderer/src/store/migrate.ts b/src/renderer/src/store/migrate.ts index f4449895ae..362396ca2d 100644 --- a/src/renderer/src/store/migrate.ts +++ b/src/renderer/src/store/migrate.ts @@ -2597,16 +2597,30 @@ const migrateConfig = { return state } }, - '160': (state: RootState) => { + '161': (state: RootState) => { + try { + removeMiniAppFromState(state, 'nm-search') + removeMiniAppFromState(state, 'hika') + removeMiniAppFromState(state, 'hugging-chat') + addProvider(state, 'cherryin') + state.llm.providers = moveProvider(state.llm.providers, 'cherryin', 1) + return state + } catch (error) { + logger.error('migrate 161 error', error as Error) + return state + } + }, + '162': (state: RootState) => { try { // @ts-ignore if (state?.agents?.agents) { // @ts-ignore state.assistants.presets = [...state.agents.agents] - // @ts-ignore delete state.agents.agents + } + if (state.settings.sidebarIcons) { state.settings.sidebarIcons.visible = state.settings.sidebarIcons.visible.map((icon) => { // @ts-ignore return icon === 'agents' ? 'store' : icon @@ -2616,6 +2630,7 @@ const migrateConfig = { return icon === 'agents' ? 'store' : icon }) } + state.llm.providers.forEach((provider) => { if (provider.anthropicApiHost) { return @@ -2643,29 +2658,13 @@ const migrateConfig = { case 'new-api': provider.anthropicApiHost = 'http://localhost:3000' break - case 'cherryai': - provider.anthropicApiHost = 'https://api.cherry-ai.com' - break case 'grok': provider.anthropicApiHost = 'https://api.x.ai' } }) return state } catch (error) { - logger.error('migrate 160 error', error as Error) - return state - } - }, - '161': (state: RootState) => { - try { - removeMiniAppFromState(state, 'nm-search') - removeMiniAppFromState(state, 'hika') - removeMiniAppFromState(state, 'hugging-chat') - addProvider(state, 'cherryin') - state.llm.providers = moveProvider(state.llm.providers, 'cherryin', 1) - return state - } catch (error) { - logger.error('migrate 161 error', error as Error) + logger.error('migrate 162 error', error as Error) return state } }