From 65d066cbefbc881281b909600165b6b2444d5a0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=A2=E5=A5=8B=E7=8C=AB?= Date: Wed, 8 Oct 2025 19:28:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20migration=20for=20missing=20providers=20?= =?UTF-8?q?=E2=80=A6=20(#10438)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit chore: bump version to 1.6.3 and add migration for missing providers #10425 fix: #10425 - Updated the version from 158 to 159 in the persisted reducer configuration. - Implemented a migration function to ensure missing system providers are added to the state during the migration to version 159, enhancing state consistency. --- src/renderer/src/store/index.ts | 2 +- src/renderer/src/store/migrate.ts | 10 ++++++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/renderer/src/store/index.ts b/src/renderer/src/store/index.ts index 4b74ba91a2..0c6383cc1d 100644 --- a/src/renderer/src/store/index.ts +++ b/src/renderer/src/store/index.ts @@ -67,7 +67,7 @@ const persistedReducer = persistReducer( { key: 'cherry-studio', storage, - version: 158, + version: 159, blacklist: ['runtime', 'messages', 'messageBlocks', 'tabs'], migrate }, diff --git a/src/renderer/src/store/migrate.ts b/src/renderer/src/store/migrate.ts index f1e76ed956..8de9781bf2 100644 --- a/src/renderer/src/store/migrate.ts +++ b/src/renderer/src/store/migrate.ts @@ -85,6 +85,15 @@ function addProvider(state: RootState, id: string) { } } +// Fix missing provider +function fixMissingProvider(state: RootState) { + SYSTEM_PROVIDERS.forEach((p) => { + if (!state.llm.providers.find((provider) => provider.id === p.id)) { + state.llm.providers.push(p) + } + }) +} + // add ocr provider function addOcrProvider(state: RootState, provider: BuiltinOcrProvider) { if (!state.ocr.providers.find((p) => p.id === provider.id)) { @@ -2553,6 +2562,7 @@ const migrateConfig = { '159': (state: RootState) => { try { addProvider(state, 'ovms') + fixMissingProvider(state) return state } catch (error) { logger.error('migrate 159 error', error as Error)