|
|
@@ -685,10 +685,16 @@
|
|
|
//////////////////////////
|
|
|
|
|
|
const initNewChat = async () => {
|
|
|
- if ($page.url.searchParams.get('models')) {
|
|
|
- selectedModels = $page.url.searchParams.get('models')?.split(',');
|
|
|
- } else if ($page.url.searchParams.get('model')) {
|
|
|
- const urlModels = $page.url.searchParams.get('model')?.split(',');
|
|
|
+ const availableModels = $models
|
|
|
+ .filter((m) => !(m?.info?.meta?.hidden ?? false))
|
|
|
+ .map((m) => m.id);
|
|
|
+
|
|
|
+ if ($page.url.searchParams.get('models') || $page.url.searchParams.get('model')) {
|
|
|
+ const urlModels = (
|
|
|
+ $page.url.searchParams.get('models') ||
|
|
|
+ $page.url.searchParams.get('model') ||
|
|
|
+ ''
|
|
|
+ )?.split(',');
|
|
|
|
|
|
if (urlModels.length === 1) {
|
|
|
const m = $models.find((m) => m.id === urlModels[0]);
|
|
|
@@ -711,6 +717,10 @@
|
|
|
} else {
|
|
|
selectedModels = urlModels;
|
|
|
}
|
|
|
+
|
|
|
+ selectedModels = selectedModels.filter((modelId) =>
|
|
|
+ $models.map((m) => m.id).includes(modelId)
|
|
|
+ );
|
|
|
} else {
|
|
|
if (sessionStorage.selectedModels) {
|
|
|
selectedModels = JSON.parse(sessionStorage.selectedModels);
|
|
|
@@ -723,12 +733,12 @@
|
|
|
selectedModels = $config?.default_models.split(',');
|
|
|
}
|
|
|
}
|
|
|
+ selectedModels = selectedModels.filter((modelId) => availableModels.includes(modelId));
|
|
|
}
|
|
|
|
|
|
- selectedModels = selectedModels.filter((modelId) => $models.map((m) => m.id).includes(modelId));
|
|
|
if (selectedModels.length === 0 || (selectedModels.length === 1 && selectedModels[0] === '')) {
|
|
|
- if ($models.length > 0) {
|
|
|
- selectedModels = [$models[0].id];
|
|
|
+ if (availableModels.length > 0) {
|
|
|
+ selectedModels = [availableModels?.at(0) ?? ''];
|
|
|
} else {
|
|
|
selectedModels = [''];
|
|
|
}
|