Skip to content

Commit 4d5cafe

Browse files
authored
fix: Model Selector choice sync (ggml-org#21628)
1 parent 9030ed4 commit 4d5cafe

4 files changed

Lines changed: 61 additions & 52 deletions

File tree

tools/server/public/bundle.js

Lines changed: 50 additions & 50 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

tools/server/public/index.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
<div style="display: contents">
1919
<script>
2020
{
21-
__sveltekit_nl4lme = {
21+
__sveltekit_6n4hpv = {
2222
base: new URL('.', location).pathname.slice(0, -1)
2323
};
2424

tools/server/webui/src/lib/components/app/chat/ChatForm/ChatFormActions/ChatFormActions.svelte

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,14 @@
6262
chatStore.getConversationModel(activeMessages() as DatabaseMessage[])
6363
);
6464
65+
let lastSyncedConversationModel: string | null = null;
66+
6567
$effect(() => {
66-
if (conversationModel) {
68+
if (conversationModel && conversationModel !== lastSyncedConversationModel) {
69+
lastSyncedConversationModel = conversationModel;
6770
modelsStore.selectModelByName(conversationModel);
6871
} else if (isRouter && !modelsStore.selectedModelId && modelsStore.loadedModelIds.length > 0) {
72+
lastSyncedConversationModel = null;
6973
// auto-select the first loaded model only when nothing is selected yet
7074
const first = modelOptions().find((m) => modelsStore.loadedModelIds.includes(m.model));
7175
if (first) modelsStore.selectModelById(first.id);

tools/server/webui/src/routes/+page.svelte

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,11 @@
7777
!modelsStore.isModelLoaded(modelsStore.selectedModelName)
7878
) {
7979
modelsStore.clearSelection();
80+
81+
const first = modelOptions().find((m) => modelsStore.loadedModelIds.includes(m.model));
82+
if (first) {
83+
await modelsStore.selectModelById(first.id);
84+
}
8085
}
8186
8287
// Handle URL params only if we have ?q= or ?model= or ?new_chat=true

0 commit comments

Comments
 (0)