Skip to content

Commit 569dd7b

Browse files
committed
Fix model picker clearing reasoning effort and fast mode options
Preserve existing modelSelection.options when the user switches models within the same provider. Previously, onProviderModelSelect constructed a new ModelSelection with only provider and model, silently dropping any configured reasoning effort or fast mode settings.
1 parent 01358d1 commit 569dd7b

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

apps/web/src/components/ChatView.tsx

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3135,10 +3135,14 @@ export default function ChatView({ threadId }: ChatViewProps) {
31353135
return;
31363136
}
31373137
const resolvedModel = resolveAppModelSelection(provider, customModelsByProvider, model);
3138+
const existingOptions = composerDraft.modelSelection?.options;
3139+
const preserveOptions =
3140+
existingOptions !== undefined && composerDraft.modelSelection?.provider === provider;
31383141
const nextModelSelection: ModelSelection = {
31393142
provider,
31403143
model: resolvedModel,
3141-
};
3144+
...(preserveOptions ? { options: existingOptions } : {}),
3145+
} as ModelSelection;
31423146
setComposerDraftModelSelection(activeThread.id, nextModelSelection);
31433147
setStickyComposerModelSelection(nextModelSelection);
31443148
scheduleComposerFocus();
@@ -3150,6 +3154,7 @@ export default function ChatView({ threadId }: ChatViewProps) {
31503154
setComposerDraftModelSelection,
31513155
setStickyComposerModelSelection,
31523156
customModelsByProvider,
3157+
composerDraft.modelSelection,
31533158
],
31543159
);
31553160
const setPromptFromTraits = useCallback(

0 commit comments

Comments
 (0)