diff --git a/app/store/chat.ts b/app/store/chat.ts index 9fc7ebfd..f06c5948 100644 --- a/app/store/chat.ts +++ b/app/store/chat.ts @@ -589,7 +589,7 @@ export const useChatStore = create()( }), { name: StoreKey.Chat, - version: 3, + version: 3.1, migrate(persistedState, version) { const state = persistedState as any; const newState = JSON.parse(JSON.stringify(state)) as ChatStore; @@ -617,6 +617,23 @@ export const useChatStore = create()( }); } + // Enable `enableInjectSystemPrompts` attribute for old sessions. + // Resolve issue of old sessions not automatically enabling. + if (version < 3.1) { + newState.sessions.forEach((s) => { + if ( + // Exclude those already set by user + !s.mask.modelConfig.hasOwnProperty("enableInjectSystemPrompts") + ) { + // Because users may have changed this configuration, + // the user's current configuration is used instead of the default + const config = useAppConfig.getState(); + s.mask.modelConfig.enableInjectSystemPrompts = + config.modelConfig.enableInjectSystemPrompts; + } + }); + } + return newState; }, },