mirror of
https://github.com/openai/codex.git
synced 2026-10-18 17:18:52 +00:00
Stop falling back to older model availability announcements (#32316)
## What changed Select the first model availability announcement in catalog order before checking its display count. Once that announcement reaches its display limit, show no announcement instead of falling back to a lower-priority model. ## Testing - Update the model catalog test to verify that an exhausted higher-priority announcement does not expose an older announcement. GitOrigin-RevId: 65f23b34e1ecb38934effd5305704d7ab2353492
This commit is contained in:
@@ -215,17 +215,18 @@ pub(super) fn select_model_availability_nux(
|
||||
available_models: &[ModelPreset],
|
||||
nux_config: &ModelAvailabilityNuxConfig,
|
||||
) -> Option<StartupTooltipOverride> {
|
||||
available_models.iter().find_map(|preset| {
|
||||
let ModelAvailabilityNux { message } = preset.availability_nux.as_ref()?;
|
||||
let shown_count = nux_config
|
||||
.shown_count
|
||||
.get(&preset.model)
|
||||
.copied()
|
||||
.unwrap_or_default();
|
||||
(shown_count < MODEL_AVAILABILITY_NUX_MAX_SHOW_COUNT).then(|| StartupTooltipOverride {
|
||||
model_slug: preset.model.clone(),
|
||||
message: message.clone(),
|
||||
})
|
||||
let preset = available_models
|
||||
.iter()
|
||||
.find(|preset| preset.availability_nux.is_some())?;
|
||||
let ModelAvailabilityNux { message } = preset.availability_nux.as_ref()?;
|
||||
let shown_count = nux_config
|
||||
.shown_count
|
||||
.get(&preset.model)
|
||||
.copied()
|
||||
.unwrap_or_default();
|
||||
(shown_count < MODEL_AVAILABILITY_NUX_MAX_SHOW_COUNT).then(|| StartupTooltipOverride {
|
||||
model_slug: preset.model.clone(),
|
||||
message: message.clone(),
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -96,7 +96,7 @@ fn select_model_availability_nux_picks_only_eligible_model() {
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn select_model_availability_nux_skips_missing_and_exhausted_models() {
|
||||
fn select_model_availability_nux_does_not_fall_back_to_older_announcement() {
|
||||
let mut presets = all_model_presets();
|
||||
presets.iter_mut().for_each(|preset| {
|
||||
preset.availability_nux = None;
|
||||
@@ -121,13 +121,7 @@ fn select_model_availability_nux_skips_missing_and_exhausted_models() {
|
||||
&model_availability_nux_config(&[("gpt-5.4", MODEL_AVAILABILITY_NUX_MAX_SHOW_COUNT)]),
|
||||
);
|
||||
|
||||
assert_eq!(
|
||||
selected,
|
||||
Some(StartupTooltipOverride {
|
||||
model_slug: "gpt-5.4-mini".to_string(),
|
||||
message: "gpt-5.4-mini is available".to_string(),
|
||||
})
|
||||
);
|
||||
assert_eq!(selected, None);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
||||
Reference in New Issue
Block a user