chore(store): update migration logic and increment version to 87
* Updated migration functions to include error handling for provider additions. * Incremented the version number in the persisted reducer configuration.
This commit is contained in:
parent
9e977f4b35
commit
b363cb06a4
@ -42,7 +42,7 @@ const persistedReducer = persistReducer(
|
||||
{
|
||||
key: 'cherry-studio',
|
||||
storage,
|
||||
version: 86,
|
||||
version: 87,
|
||||
blacklist: ['runtime', 'messages'],
|
||||
migrate
|
||||
},
|
||||
|
||||
@ -35,26 +35,47 @@ function addProvider(state: RootState, id: string) {
|
||||
|
||||
const migrateConfig = {
|
||||
'2': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'yi')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'3': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'zhipu')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'4': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'ollama')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'5': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'moonshot')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'6': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'openrouter')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'7': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
settings: {
|
||||
@ -62,8 +83,12 @@ const migrateConfig = {
|
||||
language: navigator.language
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'8': (state: RootState) => {
|
||||
try {
|
||||
const fixAssistantName = (assistant: Assistant) => {
|
||||
if (isEmpty(assistant.name)) {
|
||||
assistant.name = i18n.t(`assistant.${assistant.id}.name`)
|
||||
@ -87,8 +112,12 @@ const migrateConfig = {
|
||||
assistants: state.assistants.assistants.map((assistant) => fixAssistantName(assistant))
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'9': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
llm: {
|
||||
@ -101,21 +130,37 @@ const migrateConfig = {
|
||||
})
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'10': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'baichuan')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'11': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'dashscope')
|
||||
addProvider(state, 'anthropic')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'12': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'aihubmix')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'13': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
assistants: {
|
||||
@ -128,8 +173,12 @@ const migrateConfig = {
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'14': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
settings: {
|
||||
@ -138,8 +187,12 @@ const migrateConfig = {
|
||||
proxyUrl: undefined
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'15': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
settings: {
|
||||
@ -148,8 +201,12 @@ const migrateConfig = {
|
||||
showMessageDivider: true
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'16': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
settings: {
|
||||
@ -158,8 +215,12 @@ const migrateConfig = {
|
||||
showInputEstimatedTokens: false
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'17': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
settings: {
|
||||
@ -167,8 +228,12 @@ const migrateConfig = {
|
||||
theme: 'auto'
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'19': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
agents: {
|
||||
@ -183,8 +248,12 @@ const migrateConfig = {
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'20': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
settings: {
|
||||
@ -192,18 +261,30 @@ const migrateConfig = {
|
||||
fontSize: 14
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'21': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'gemini')
|
||||
addProvider(state, 'stepfun')
|
||||
addProvider(state, 'doubao')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'22': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'minimax')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'23': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
settings: {
|
||||
@ -212,8 +293,12 @@ const migrateConfig = {
|
||||
windowStyle: 'transparent'
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'24': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
assistants: {
|
||||
@ -232,16 +317,28 @@ const migrateConfig = {
|
||||
topicPosition: 'right'
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'25': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'github')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'26': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'ocoolai')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'27': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
settings: {
|
||||
@ -249,15 +346,24 @@ const migrateConfig = {
|
||||
renderInputMessageAsMarkdown: true
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'28': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'together')
|
||||
addProvider(state, 'fireworks')
|
||||
addProvider(state, 'zhinao')
|
||||
addProvider(state, 'hunyuan')
|
||||
addProvider(state, 'nvidia')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'29': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
assistants: {
|
||||
@ -271,12 +377,20 @@ const migrateConfig = {
|
||||
})
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'30': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'azure-openai')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'31': (state: RootState) => {
|
||||
try {
|
||||
return {
|
||||
...state,
|
||||
llm: {
|
||||
@ -289,12 +403,20 @@ const migrateConfig = {
|
||||
})
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'32': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'hunyuan')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'33': (state: RootState) => {
|
||||
try {
|
||||
state.assistants.defaultAssistant.type = 'assistant'
|
||||
|
||||
state.agents.agents.forEach((agent) => {
|
||||
@ -318,8 +440,12 @@ const migrateConfig = {
|
||||
})
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'34': (state: RootState) => {
|
||||
try {
|
||||
state.assistants.assistants.forEach((assistant) => {
|
||||
assistant.topics.forEach((topic) => {
|
||||
topic.assistantId = assistant.id
|
||||
@ -333,34 +459,62 @@ const migrateConfig = {
|
||||
})
|
||||
})
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'35': (state: RootState) => {
|
||||
try {
|
||||
state.settings.mathEngine = 'KaTeX'
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'36': (state: RootState) => {
|
||||
try {
|
||||
state.settings.topicPosition = 'left'
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'37': (state: RootState) => {
|
||||
try {
|
||||
state.settings.messageStyle = 'plain'
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'38': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'grok')
|
||||
addProvider(state, 'hyperbolic')
|
||||
addProvider(state, 'mistral')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'39': (state: RootState) => {
|
||||
try {
|
||||
state.settings.codeStyle = 'auto'
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'40': (state: RootState) => {
|
||||
try {
|
||||
state.settings.tray = true
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'41': (state: RootState) => {
|
||||
try {
|
||||
state.llm.providers.forEach((provider) => {
|
||||
if (provider.id === 'gemini') {
|
||||
provider.type = 'gemini'
|
||||
@ -371,26 +525,42 @@ const migrateConfig = {
|
||||
}
|
||||
})
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'42': (state: RootState) => {
|
||||
try {
|
||||
state.settings.proxyMode = state.settings.proxyUrl ? 'custom' : 'none'
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'43': (state: RootState) => {
|
||||
try {
|
||||
if (state.settings.proxyMode === 'none') {
|
||||
state.settings.proxyMode = 'system'
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'44': (state: RootState) => {
|
||||
try {
|
||||
state.settings.translateModelPrompt = TRANSLATE_PROMPT
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'45': (state: RootState) => {
|
||||
state.settings.enableTopicNaming = true
|
||||
return state
|
||||
},
|
||||
'46': (state: RootState) => {
|
||||
try {
|
||||
if (
|
||||
state.settings?.translateModelPrompt?.includes(
|
||||
'If the target language is the same as the source language, do not translate'
|
||||
@ -399,16 +569,24 @@ const migrateConfig = {
|
||||
state.settings.translateModelPrompt = TRANSLATE_PROMPT
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'47': (state: RootState) => {
|
||||
try {
|
||||
state.llm.providers.forEach((provider) => {
|
||||
provider.models.forEach((model) => {
|
||||
model.group = getDefaultGroupName(model.id)
|
||||
})
|
||||
})
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'48': (state: RootState) => {
|
||||
try {
|
||||
if (state.shortcuts) {
|
||||
state.shortcuts.shortcuts.forEach((shortcut) => {
|
||||
shortcut.system = shortcut.key !== 'new_topic'
|
||||
@ -429,8 +607,12 @@ const migrateConfig = {
|
||||
})
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'49': (state: RootState) => {
|
||||
try {
|
||||
state.settings.pasteLongTextThreshold = 1500
|
||||
if (state.shortcuts) {
|
||||
state.shortcuts.shortcuts = [
|
||||
@ -445,10 +627,17 @@ const migrateConfig = {
|
||||
]
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'50': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'jina')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'51': (state: RootState) => {
|
||||
state.settings.topicNamingPrompt = ''
|
||||
@ -634,6 +823,7 @@ const migrateConfig = {
|
||||
}
|
||||
},
|
||||
'67': (state: RootState) => {
|
||||
try {
|
||||
if (state.minapps) {
|
||||
const xiaoyi = DEFAULT_MIN_APPS.find((app) => app.id === 'xiaoyi')
|
||||
if (xiaoyi) {
|
||||
@ -652,6 +842,9 @@ const migrateConfig = {
|
||||
}
|
||||
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'68': (state: RootState) => {
|
||||
try {
|
||||
@ -946,6 +1139,15 @@ const migrateConfig = {
|
||||
}
|
||||
|
||||
return state
|
||||
},
|
||||
'87': (state: RootState) => {
|
||||
try {
|
||||
state.settings.maxKeepAliveMinapps = 3
|
||||
state.settings.showOpenedMinappsInSidebar = true
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user