mirror of
				https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
				synced 2025-11-04 08:13:43 +08:00 
			
		
		
		
	Merge pull request #2392 from imldy/dev_SetInjectSystemPrompts
fix: enable `enableInjectSystemPrompts` attribute for old sessions
This commit is contained in:
		@@ -589,7 +589,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;
 | 
			
		||||
@@ -617,6 +617,23 @@ 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 (
 | 
			
		||||
              // 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;
 | 
			
		||||
      },
 | 
			
		||||
    },
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user