diff --git a/codex-rs/tui/src/chatwidget/reasoning_shortcuts.rs b/codex-rs/tui/src/chatwidget/reasoning_shortcuts.rs index bcccb74b0be7..7ef88ac73f82 100644 --- a/codex-rs/tui/src/chatwidget/reasoning_shortcuts.rs +++ b/codex-rs/tui/src/chatwidget/reasoning_shortcuts.rs @@ -154,7 +154,8 @@ impl ChatWidget { ))); } } else { - self.apply_model_and_effort_without_persist(current_model, Some(next_effort)); + self.app_event_tx + .send(AppEvent::UpdateReasoningEffort(Some(next_effort))); } true diff --git a/codex-rs/tui/src/chatwidget/tests/popups_and_settings.rs b/codex-rs/tui/src/chatwidget/tests/popups_and_settings.rs index 8070d0f1b6c7..9bd44931fdfa 100644 --- a/codex-rs/tui/src/chatwidget/tests/popups_and_settings.rs +++ b/codex-rs/tui/src/chatwidget/tests/popups_and_settings.rs @@ -3387,7 +3387,6 @@ async fn model_reasoning_selection_popup_extra_high_warning_snapshot() { async fn assert_reasoning_shortcuts_update_effort( key_events: [KeyEvent; 2], expected_effort: ReasoningEffortConfig, - expect_model_update: bool, ) { for key_event in key_events { let (mut chat, mut rx, _op_rx) = make_chatwidget_manual(Some("gpt-5.4")).await; @@ -3397,14 +3396,12 @@ async fn assert_reasoning_shortcuts_update_effort( chat.handle_key_event(key_event); let events = std::iter::from_fn(|| rx.try_recv().ok()).collect::>(); - if expect_model_update { - assert!( - events.iter().any( - |event| matches!(event, AppEvent::UpdateModel(model) if model == "gpt-5.4") - ), - "expected model update event for {key_event:?}; events: {events:?}" - ); - } + assert!( + events + .iter() + .all(|event| !matches!(event, AppEvent::UpdateModel(_))), + "did not expect model update event for {key_event:?}; events: {events:?}" + ); assert!( events.iter().any(|event| matches!( event, @@ -3429,7 +3426,6 @@ async fn reasoning_up_shortcuts_raise_reasoning_effort() { KeyEvent::new(KeyCode::Up, KeyModifiers::SHIFT), ], ReasoningEffortConfig::High, - /*expect_model_update*/ true, ) .await; } @@ -3442,7 +3438,6 @@ async fn reasoning_down_shortcuts_lower_reasoning_effort() { KeyEvent::new(KeyCode::Down, KeyModifiers::SHIFT), ], ReasoningEffortConfig::Low, - /*expect_model_update*/ false, ) .await; }