Преглед изворни кода

Merge pull request #5444 from skymkmk/pr-fix-model-config-hydration

fix: config hydration and default model forced to set gpt-3.5-turbo
Dogtiti пре 1 година
родитељ
комит
d51bbb4a81
2 измењених фајлова са 17 додато и 2 уклоњено
  1. 2 2
      app/store/access.ts
  2. 15 0
      app/store/config.ts

+ 2 - 2
app/store/access.ts

@@ -204,8 +204,8 @@ export const useAccessStore = createPersistStore(
         .then((res) => {
           // Set default model from env request
           let defaultModel = res.defaultModel ?? "";
-          DEFAULT_CONFIG.modelConfig.model =
-            defaultModel !== "" ? defaultModel : "gpt-3.5-turbo";
+          if (defaultModel !== "")
+            DEFAULT_CONFIG.modelConfig.model = defaultModel;
           return res;
         })
         .then((res: DangerConfig) => {

+ 15 - 0
app/store/config.ts

@@ -143,6 +143,21 @@ export const useAppConfig = createPersistStore(
   {
     name: StoreKey.Config,
     version: 4,
+
+    merge(persistedState, currentState) {
+      const state = persistedState as ChatConfig | undefined;
+      if (!state) return { ...currentState };
+      const models = currentState.models.slice();
+      state.models.forEach((pModel) => {
+        const idx = models.findIndex(
+          (v) => v.name === pModel.name && v.provider === pModel.provider,
+        );
+        if (idx !== -1) models[idx] = pModel;
+        else models.push(pModel);
+      });
+      return { ...currentState, ...state, models: models };
+    },
+
     migrate(persistedState, version) {
       const state = persistedState as ChatConfig;