fix(#4728): preserve fallback-order guarantees for default-model routing

This commit is contained in:
Rod Boev 2026-06-24 14:57:29 -04:00 committed by nesquena-hermes
parent cdb44fb7e0
commit eba089fd90
2 changed files with 2 additions and 2 deletions

View file

@ -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);

View file

@ -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"
)