Add model availability NUX tooltips (#13021)

- override startup tooltips with model availability NUX and persist
per-model show counts in config
- stop showing each model after four exposures and fall back to normal
tooltips
This commit is contained in:
Ahmed Ibrahim
2026-02-27 17:14:06 -08:00
committed by GitHub
parent ff5cbfd7d4
commit ec6f6aacbf
11 changed files with 657 additions and 6 deletions

View File

@@ -1581,6 +1581,7 @@ async fn helpers_are_available_and_do_not_panic() {
is_first_run: true,
feedback_audience: FeedbackAudience::External,
model: Some(resolved_model),
startup_tooltip_override: None,
status_line_invalid_items_warned: Arc::new(AtomicBool::new(false)),
otel_manager,
};
@@ -1705,6 +1706,7 @@ async fn make_chatwidget_manual(
forked_from: None,
frame_requester: FrameRequester::test_dummy(),
show_welcome_banner: true,
startup_tooltip_override: None,
queued_user_messages: VecDeque::new(),
queued_message_edit_binding: crate::key_hint::alt(KeyCode::Up),
suppress_session_configured_redraw: false,
@@ -4488,6 +4490,7 @@ async fn collaboration_modes_defaults_to_code_on_startup() {
is_first_run: true,
feedback_audience: FeedbackAudience::External,
model: Some(resolved_model.clone()),
startup_tooltip_override: None,
status_line_invalid_items_warned: Arc::new(AtomicBool::new(false)),
otel_manager,
};
@@ -4537,6 +4540,7 @@ async fn experimental_mode_plan_is_ignored_on_startup() {
is_first_run: true,
feedback_audience: FeedbackAudience::External,
model: Some(resolved_model.clone()),
startup_tooltip_override: None,
status_line_invalid_items_warned: Arc::new(AtomicBool::new(false)),
otel_manager,
};