Detailed changes
@@ -103,22 +103,12 @@ impl LanguageModels {
}
fn refresh_list(&mut self, cx: &App) {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!("[{}ms] LanguageModels::refresh_list called", now);
let providers = LanguageModelRegistry::global(cx)
.read(cx)
.providers()
.into_iter()
.filter(|provider| provider.is_authenticated(cx))
.collect::<Vec<_>>();
- eprintln!(
- "[{}ms] LanguageModels::refresh_list got {} authenticated providers",
- now,
- providers.len()
- );
let mut language_model_list = IndexMap::default();
let mut recommended_models = HashSet::default();
@@ -156,15 +146,6 @@ impl LanguageModels {
self.models = models;
self.model_list = acp_thread::AgentModelList::Grouped(language_model_list);
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] LanguageModels::refresh_list completed with {} models in list",
- now,
- self.models.len()
- );
self.refresh_models_tx.send(()).ok();
}
@@ -622,14 +603,6 @@ impl NativeAgent {
_event: &language_model::Event,
cx: &mut Context<Self>,
) {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] NativeAgent::handle_models_updated_event called",
- now
- );
self.models.refresh_list(cx);
let registry = LanguageModelRegistry::read_global(cx);
@@ -346,37 +346,13 @@ fn init_language_model_settings(cx: &mut App) {
cx.subscribe(
&LanguageModelRegistry::global(cx),
|_, event: &language_model::Event, cx| match event {
- language_model::Event::ProviderStateChanged(id) => {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] agent_ui global subscription: ProviderStateChanged for {:?}",
- now, id
- );
+ language_model::Event::ProviderStateChanged(_) => {
update_active_language_model_from_settings(cx);
}
- language_model::Event::AddedProvider(id) => {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] agent_ui global subscription: AddedProvider for {:?}",
- now, id
- );
+ language_model::Event::AddedProvider(_) => {
update_active_language_model_from_settings(cx);
}
- language_model::Event::RemovedProvider(id) => {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] agent_ui global subscription: RemovedProvider for {:?}",
- now, id
- );
+ language_model::Event::RemovedProvider(_) => {
update_active_language_model_from_settings(cx);
}
_ => {}
@@ -46,13 +46,7 @@ pub fn language_model_selector(
}
fn all_models(cx: &App) -> GroupedModels {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!("[{}ms] all_models() called", now);
let providers = LanguageModelRegistry::global(cx).read(cx).providers();
- eprintln!("[{}ms] all_models: got {} providers", now, providers.len());
let recommended = providers
.iter()
@@ -70,38 +64,16 @@ fn all_models(cx: &App) -> GroupedModels {
let all: Vec<ModelInfo> = providers
.iter()
.flat_map(|provider| {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] all_models: calling provided_models for {:?}",
- now,
- provider.id()
- );
- let models = provider.provided_models(cx);
- eprintln!(
- "[{}ms] all_models: provider {:?} returned {} models",
- now,
- provider.id(),
- models.len()
- );
- models.into_iter().map(|model| ModelInfo {
- model,
- icon: provider.icon(),
- })
+ provider
+ .provided_models(cx)
+ .into_iter()
+ .map(|model| ModelInfo {
+ model,
+ icon: provider.icon(),
+ })
})
.collect();
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] all_models: returning {} total models",
- now,
- all.len()
- );
GroupedModels::new(all, recommended)
}
@@ -132,18 +104,8 @@ impl LanguageModelPickerDelegate {
window: &mut Window,
cx: &mut Context<Picker<Self>>,
) -> Self {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!("[{}ms] LanguageModelPickerDelegate::new() called", now);
let on_model_changed = Arc::new(on_model_changed);
let models = all_models(cx);
- eprintln!(
- "[{}ms] LanguageModelPickerDelegate::new() got {} models from all_models()",
- now,
- models.all.len()
- );
let entries = models.entries();
Self {
@@ -154,76 +116,28 @@ impl LanguageModelPickerDelegate {
get_active_model: Arc::new(get_active_model),
_authenticate_all_providers_task: Self::authenticate_all_providers(cx),
_refresh_models_task: {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] LanguageModelPickerDelegate::new() setting up refresh task for LanguageModelRegistry",
- now
- );
-
// Create a channel to signal when models need refreshing
let (refresh_tx, mut refresh_rx) = mpsc::unbounded::<()>();
// Subscribe to registry events and send refresh signals through the channel
let registry = LanguageModelRegistry::global(cx);
- eprintln!(
- "[{}ms] LanguageModelPickerDelegate::new() subscribing to registry entity_id: {:?}",
- now,
- registry.entity_id()
- );
- cx.subscribe(®istry, move |_picker, _, event, _cx| {
- match event {
- language_model::Event::ProviderStateChanged(id) => {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] LanguageModelSelector: ProviderStateChanged event for {:?}, sending refresh signal",
- now, id
- );
- refresh_tx.unbounded_send(()).ok();
- }
- language_model::Event::AddedProvider(id) => {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] LanguageModelSelector: AddedProvider event for {:?}, sending refresh signal",
- now, id
- );
- refresh_tx.unbounded_send(()).ok();
- }
- language_model::Event::RemovedProvider(id) => {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] LanguageModelSelector: RemovedProvider event for {:?}, sending refresh signal",
- now, id
- );
- refresh_tx.unbounded_send(()).ok();
- }
- _ => {}
+ cx.subscribe(®istry, move |_picker, _, event, _cx| match event {
+ language_model::Event::ProviderStateChanged(_) => {
+ refresh_tx.unbounded_send(()).ok();
+ }
+ language_model::Event::AddedProvider(_) => {
+ refresh_tx.unbounded_send(()).ok();
+ }
+ language_model::Event::RemovedProvider(_) => {
+ refresh_tx.unbounded_send(()).ok();
}
+ _ => {}
})
.detach();
// Spawn a task that listens for refresh signals and updates the picker
cx.spawn_in(window, async move |this, cx| {
while let Some(()) = refresh_rx.next().await {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] LanguageModelSelector: refresh signal received, updating models",
- now
- );
let result = this.update_in(cx, |picker, window, cx| {
picker.delegate.all_models = Arc::new(all_models(cx));
picker.refresh(window, cx);
@@ -414,14 +414,9 @@ impl ExtensionLanguageModelProviderProxy for ExtensionHostProxy {
cx: &mut App,
) {
let Some(proxy) = self.language_model_provider_proxy.read().clone() else {
- eprintln!(
- "Failed to register LLM provider '{}': language_model_provider_proxy not yet initialized",
- provider_id
- );
return;
};
- eprintln!("Registering LLM provider: {}", provider_id);
proxy.register_language_model_provider(provider_id, register_fn, cx)
}
@@ -158,19 +158,7 @@ impl LanguageModelRegistry {
}
self.providers.insert(id.clone(), provider);
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] LanguageModelRegistry: About to emit AddedProvider event for {:?}",
- now, id
- );
- cx.emit(Event::AddedProvider(id.clone()));
- eprintln!(
- "[{}ms] LanguageModelRegistry: Emitted AddedProvider event for {:?}",
- now, id
- );
+ cx.emit(Event::AddedProvider(id));
}
pub fn unregister_provider(&mut self, id: LanguageModelProviderId, cx: &mut Context<Self>) {
@@ -180,18 +168,6 @@ impl LanguageModelRegistry {
}
pub fn providers(&self) -> Vec<Arc<dyn LanguageModelProvider>> {
- let now = std::time::SystemTime::now()
- .duration_since(std::time::UNIX_EPOCH)
- .unwrap_or_default()
- .as_millis();
- eprintln!(
- "[{}ms] LanguageModelRegistry::providers() called, {} providers in registry",
- now,
- self.providers.len()
- );
- for (id, _) in &self.providers {
- eprintln!(" - provider: {:?}", id);
- }
let zed_provider_id = LanguageModelProviderId("zed.dev".into());
let mut providers = Vec::with_capacity(self.providers.len());
if let Some(provider) = self.providers.get(&zed_provider_id) {
@@ -204,11 +180,6 @@ impl LanguageModelRegistry {
None
}
}));
- eprintln!(
- "[{}ms] LanguageModelRegistry::providers() returning {} providers",
- now,
- providers.len()
- );
providers
}
@@ -22,15 +22,8 @@ impl ExtensionLanguageModelProviderProxy for ExtensionLanguageModelProxy {
register_fn: LanguageModelProviderRegistration,
cx: &mut App,
) {
- eprintln!(
- "ExtensionLanguageModelProxy::register_language_model_provider called for {}",
- provider_id
- );
+ let _ = provider_id;
register_fn(cx);
- eprintln!(
- "ExtensionLanguageModelProxy::register_language_model_provider completed for {}",
- provider_id
- );
}
fn unregister_language_model_provider(&self, provider_id: Arc<str>, cx: &mut App) {