From eba089fd90f87503477a342f25d90e64bf85aa4d Mon Sep 17 00:00:00 2001 From: Rod Boev Date: Wed, 24 Jun 2026 14:57:29 -0400 Subject: [PATCH] fix(#4728): preserve fallback-order guarantees for default-model routing --- static/sessions.js | 2 +- tests/test_new_chat_default_model_frontend.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/static/sessions.js b/static/sessions.js index 7f2d704e..636ef98d 100644 --- a/static/sessions.js +++ b/static/sessions.js @@ -887,7 +887,7 @@ async function newSession(flash, options={}){ newModelState=explicitModelOverride; consumedExplicitModelOverride=true; }else if(hasLoadedSession&&window._defaultModel){ - newModelState={model:window._defaultModel,model_provider:window._activeProvider||null}; + newModelState={model:window._defaultModel,model_provider:null}; usingConfiguredDefault=true; }else if(modelSelForNew&&modelSelForNew.value&&typeof _modelStateForSelect==='function'){ newModelState=_modelStateForSelect(modelSelForNew,modelSelForNew.value); diff --git a/tests/test_new_chat_default_model_frontend.py b/tests/test_new_chat_default_model_frontend.py index 9badb71f..eefd36bd 100644 --- a/tests/test_new_chat_default_model_frontend.py +++ b/tests/test_new_chat_default_model_frontend.py @@ -139,7 +139,7 @@ def test_new_chat_prefers_explicit_empty_composer_override_before_configured_def assert "consumedExplicitModelOverride" in fn assert "usingConfiguredDefault" in fn assert "_clearEmptyComposerModelOverride" in fn - assert "newModelState={model:window._defaultModel,model_provider:window._activeProvider||null};" in fn + assert "newModelState={model:window._defaultModel,model_provider:null};" in fn assert fn.index("explicitModelOverride") < fn.index("hasLoadedSession&&window._defaultModel") < fn.index("_modelStateForSelect"), ( "newSession() must prefer the empty-composer override first, then the configured default for loaded-session flows, then legacy picker state" )