fix(migrate): add error handling to migration functions and ensure state integrity during updates
This commit is contained in:
parent
3bb294e698
commit
9976ad9ed0
@ -455,6 +455,7 @@ const migrateConfig = {
|
||||
return state
|
||||
},
|
||||
'54': (state: RootState) => {
|
||||
try {
|
||||
if (state.shortcuts) {
|
||||
state.shortcuts.shortcuts.push({
|
||||
key: 'search_message',
|
||||
@ -469,8 +470,12 @@ const migrateConfig = {
|
||||
disabled: []
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'55': (state: RootState) => {
|
||||
try {
|
||||
if (!state.settings.sidebarIcons) {
|
||||
state.settings.sidebarIcons = {
|
||||
visible: DEFAULT_SIDEBAR_ICONS,
|
||||
@ -478,8 +483,12 @@ const migrateConfig = {
|
||||
}
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'57': (state: RootState) => {
|
||||
try {
|
||||
if (state.shortcuts) {
|
||||
state.shortcuts.shortcuts.push({
|
||||
key: 'mini_window',
|
||||
@ -500,8 +509,12 @@ const migrateConfig = {
|
||||
state.settings.clickTrayToShowQuickAssistant = true
|
||||
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'58': (state: RootState) => {
|
||||
try {
|
||||
if (state.shortcuts) {
|
||||
state.shortcuts.shortcuts.push(
|
||||
{
|
||||
@ -521,8 +534,12 @@ const migrateConfig = {
|
||||
)
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'59': (state: RootState) => {
|
||||
try {
|
||||
if (state.minapps) {
|
||||
const flowith = DEFAULT_MIN_APPS.find((app) => app.id === 'flowith')
|
||||
if (flowith) {
|
||||
@ -530,20 +547,32 @@ const migrateConfig = {
|
||||
}
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'60': (state: RootState) => {
|
||||
try {
|
||||
state.settings.multiModelMessageStyle = 'fold'
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'61': (state: RootState) => {
|
||||
try {
|
||||
state.llm.providers.forEach((provider) => {
|
||||
if (provider.id === 'qwenlm') {
|
||||
provider.type = 'qwenlm'
|
||||
}
|
||||
})
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'62': (state: RootState) => {
|
||||
try {
|
||||
state.llm.providers.forEach((provider) => {
|
||||
if (provider.id === 'azure-openai') {
|
||||
provider.type = 'azure-openai'
|
||||
@ -551,8 +580,12 @@ const migrateConfig = {
|
||||
})
|
||||
state.settings.translateModelPrompt = TRANSLATE_PROMPT
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'63': (state: RootState) => {
|
||||
try {
|
||||
if (state.minapps) {
|
||||
const mintop = DEFAULT_MIN_APPS.find((app) => app.id === '3mintop')
|
||||
if (mintop) {
|
||||
@ -560,17 +593,29 @@ const migrateConfig = {
|
||||
}
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'64': (state: RootState) => {
|
||||
try {
|
||||
state.llm.providers = state.llm.providers.filter((provider) => provider.id !== 'qwenlm')
|
||||
addProvider(state, 'baidu-cloud')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'65': (state: RootState) => {
|
||||
try {
|
||||
state.settings.targetLanguage = 'english'
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'66': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'gitee-ai')
|
||||
addProvider(state, 'ppio')
|
||||
|
||||
@ -584,6 +629,9 @@ const migrateConfig = {
|
||||
}
|
||||
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'67': (state: RootState) => {
|
||||
if (state.minapps) {
|
||||
@ -606,6 +654,7 @@ const migrateConfig = {
|
||||
return state
|
||||
},
|
||||
'68': (state: RootState) => {
|
||||
try {
|
||||
if (state.minapps) {
|
||||
const notebooklm = DEFAULT_MIN_APPS.find((app) => app.id === 'notebooklm')
|
||||
if (notebooklm) {
|
||||
@ -617,8 +666,12 @@ const migrateConfig = {
|
||||
addProvider(state, 'lmstudio')
|
||||
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'69': (state: RootState) => {
|
||||
try {
|
||||
if (state.minapps) {
|
||||
const coze = DEFAULT_MIN_APPS.find((app) => app.id === 'coze')
|
||||
if (coze) {
|
||||
@ -628,16 +681,24 @@ const migrateConfig = {
|
||||
state.settings.gridColumns = 2
|
||||
state.settings.gridPopoverTrigger = 'hover'
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'70': (state: RootState) => {
|
||||
try {
|
||||
state.llm.providers.forEach((provider) => {
|
||||
if (provider.id === 'dmxapi') {
|
||||
provider.apiHost = 'https://www.dmxapi.cn'
|
||||
}
|
||||
})
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'71': (state: RootState) => {
|
||||
try {
|
||||
const appIds = ['dify', 'wpslingxi', 'lechat', 'abacus', 'lambdachat', 'baidu-ai-search']
|
||||
|
||||
if (state.minapps) {
|
||||
@ -655,8 +716,12 @@ const migrateConfig = {
|
||||
state.settings.thoughtAutoCollapse = true
|
||||
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'72': (state: RootState) => {
|
||||
try {
|
||||
if (state.minapps) {
|
||||
const monica = DEFAULT_MIN_APPS.find((app) => app.id === 'monica')
|
||||
if (monica) {
|
||||
@ -674,8 +739,12 @@ const migrateConfig = {
|
||||
}
|
||||
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'73': (state: RootState) => {
|
||||
try {
|
||||
if (state.websearch) {
|
||||
state.websearch.searchWithTime = true
|
||||
state.websearch.maxResults = 5
|
||||
@ -712,12 +781,20 @@ const migrateConfig = {
|
||||
}
|
||||
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'74': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'xirang')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'75': (state: RootState) => {
|
||||
try {
|
||||
if (state.minapps) {
|
||||
const you = DEFAULT_MIN_APPS.find((app) => app.id === 'you')
|
||||
const cici = DEFAULT_MIN_APPS.find((app) => app.id === 'cici')
|
||||
@ -727,12 +804,20 @@ const migrateConfig = {
|
||||
zhihu && state.minapps.enabled.push(zhihu)
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'76': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'tencent-cloud-ti')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'77': (state: RootState) => {
|
||||
try {
|
||||
if (state.websearch) {
|
||||
if (!state.websearch.providers.find((p) => p.id === 'searxng')) {
|
||||
state.websearch.providers.push(
|
||||
@ -754,27 +839,47 @@ const migrateConfig = {
|
||||
})
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'78': (state: RootState) => {
|
||||
try {
|
||||
state.llm.providers = moveProvider(state.llm.providers, 'ppio', 9)
|
||||
state.llm.providers = moveProvider(state.llm.providers, 'infini', 10)
|
||||
removeMiniAppIconsFromState(state)
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'79': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'gpustack')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'80': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'alayanew')
|
||||
state.llm.providers = moveProvider(state.llm.providers, 'alayanew', 10)
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'81': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'copilot')
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'82': (state: RootState) => {
|
||||
try {
|
||||
const runtimeState = state.runtime as any
|
||||
if (runtimeState?.webdavSync) {
|
||||
state.backup = state.backup || {}
|
||||
@ -789,25 +894,43 @@ const migrateConfig = {
|
||||
delete runtimeState.webdavSync
|
||||
}
|
||||
return state
|
||||
} catch (error) {
|
||||
return state
|
||||
}
|
||||
},
|
||||
'83': (state: RootState) => {
|
||||
try {
|
||||
state.settings.messageNavigation = 'buttons'
|
||||
state.settings.launchOnBoot = false
|
||||
state.settings.launchToTray = false
|
||||
state.settings.trayOnClose = true
|
||||
return state
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
return state
|
||||
}
|
||||
},
|
||||
'84': (state: RootState) => {
|
||||
try {
|
||||
addProvider(state, 'voyageai')
|
||||
return state
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
return state
|
||||
}
|
||||
},
|
||||
'85': (state: RootState) => {
|
||||
try {
|
||||
// @ts-ignore eslint-disable-next-line
|
||||
state.settings.autoCheckUpdate = !state.settings.manualUpdateCheck
|
||||
// @ts-ignore eslint-disable-next-line
|
||||
delete state.settings.manualUpdateCheck
|
||||
state.settings.gridPopoverTrigger = 'click'
|
||||
return state
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
return state
|
||||
}
|
||||
},
|
||||
'86': (state: RootState) => {
|
||||
try {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user