diff --git a/crates/language_model_selector/src/language_model_selector.rs b/crates/language_model_selector/src/language_model_selector.rs index e70e951140073a537acea4e48e16b80e1b72fabb..2acf78a5d2c3e826a2666c227ae10a0f512e4a19 100644 --- a/crates/language_model_selector/src/language_model_selector.rs +++ b/crates/language_model_selector/src/language_model_selector.rs @@ -56,15 +56,20 @@ impl LanguageModelSelector { .max_height(Some(rems(20.).into())) }); + let subscription = cx.subscribe(&picker, |_, _, _, cx| cx.emit(DismissEvent)); + LanguageModelSelector { picker, update_matches_task: None, _authenticate_all_providers_task: Self::authenticate_all_providers(cx), - _subscriptions: vec![cx.subscribe_in( - &LanguageModelRegistry::global(cx), - window, - Self::handle_language_model_registry_event, - )], + _subscriptions: vec![ + cx.subscribe_in( + &LanguageModelRegistry::global(cx), + window, + Self::handle_language_model_registry_event, + ), + subscription, + ], } }