fix: allow user to set pro model even in fallback (#12566)

This commit is contained in:
Adam Weidman
2025-11-05 09:38:45 -05:00
committed by GitHub
parent 3937461272
commit 21dd9bbf7d
2 changed files with 16 additions and 4 deletions

View File

@@ -1354,6 +1354,21 @@ describe('Config getHooks', () => {
expect(retrievedHooks).toEqual(allEventHooks);
expect(Object.keys(retrievedHooks!)).toHaveLength(11); // All hook event types
});
describe('setModel', () => {
it('should allow setting a pro (any) model and disable fallback mode', () => {
const config = new Config(baseParams);
config.setFallbackMode(true);
expect(config.isInFallbackMode()).toBe(true);
const proModel = 'gemini-2.5-pro';
config.setModel(proModel);
expect(config.getModel()).toBe(proModel);
expect(config.isInFallbackMode()).toBe(false);
expect(mockCoreEvents.emitModelChanged).toHaveBeenCalledWith(proModel);
});
});
});
describe('Config getExperiments', () => {

View File

@@ -692,10 +692,7 @@ export class Config {
}
setModel(newModel: string): void {
// Do not allow Pro usage if the user is in fallback mode.
if (newModel.includes('pro') && this.isInFallbackMode()) {
return;
}
this.setFallbackMode(false);
if (this.model !== newModel) {
this.model = newModel;