Skip to content

Commit 6006175

Browse files
authored
⚡️ perf: improve performace of refreshModelProviderList (#6672)
1 parent 75c8842 commit 6006175

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

src/store/user/slices/modelList/action.ts

+17-16
Original file line numberDiff line numberDiff line change
@@ -118,22 +118,23 @@ export const createModelListSlice: StateCreator<
118118
get().refreshModelProviderList({ trigger: 'refreshDefaultModelList' });
119119
},
120120
refreshModelProviderList: (params) => {
121-
const modelProviderList = get().defaultModelProviderList.map((list) => ({
122-
...list,
123-
chatModels: modelProviderSelectors
124-
.getModelCardsById(list.id)(get())
125-
?.map((model) => {
126-
const models = modelProviderSelectors.getEnableModelsById(list.id)(get());
127-
128-
if (!models) return model;
129-
130-
return {
131-
...model,
132-
enabled: models?.some((m) => m === model.id),
133-
};
134-
}),
135-
enabled: modelProviderSelectors.isProviderEnabled(list.id as any)(get()),
136-
}));
121+
const modelProviderList = get().defaultModelProviderList.map((list) => {
122+
const enabledModels = modelProviderSelectors.getEnableModelsById(list.id)(get());
123+
return {
124+
...list,
125+
chatModels: modelProviderSelectors
126+
.getModelCardsById(list.id)(get())
127+
?.map((model) => {
128+
if (!enabledModels) return model;
129+
130+
return {
131+
...model,
132+
enabled: enabledModels?.some((m) => m === model.id),
133+
};
134+
}),
135+
enabled: modelProviderSelectors.isProviderEnabled(list.id as any)(get()),
136+
};
137+
});
137138

138139
set({ modelProviderList }, false, `refreshModelList - ${params?.trigger}`);
139140
},

0 commit comments

Comments
 (0)