fix: enable enableInjectSystemPrompts attribute for old sessions

This commit is contained in:
imldy 2023-07-15 01:32:39 +08:00
parent f59235bd5a
commit fd058cc693

View File

@ -590,7 +590,7 @@ export const useChatStore = create<ChatStore>()(
}),
{
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;
@ -618,6 +618,18 @@ export const useChatStore = create<ChatStore>()(
});
}
// Enable `enableInjectSystemPrompts` attribute for old sessions.
// Resolve issue of old sessions not automatically enabling.
if (version < 3.1) {
newState.sessions.forEach((s) => {
if (
!s.mask.modelConfig.hasOwnProperty("enableInjectSystemPrompts")
) {
s.mask.modelConfig.enableInjectSystemPrompts = true;
}
});
}
return newState;
},
},