From 765626a0078c9209baa5d7f1ea95abdb2b0a736d Mon Sep 17 00:00:00 2001 From: Conrad Irwin Date: Tue, 5 Nov 2024 14:05:10 -0700 Subject: [PATCH] Disable /search by default (#20252) This stops us sending GetCachedEmbeddings requests which frequently time out after 10s, and block the collab connection. Release Notes: - N/A --- crates/assistant/src/assistant.rs | 33 ++++++++++--------- .../src/slash_command/search_command.rs | 4 +++ 2 files changed, 22 insertions(+), 15 deletions(-) diff --git a/crates/assistant/src/assistant.rs b/crates/assistant/src/assistant.rs index edfcbeb6de7cf56cf09a79bf0cb64d8a70baa4e5..ef059e20907c0c67267edc204e494615b55cb9e6 100644 --- a/crates/assistant/src/assistant.rs +++ b/crates/assistant/src/assistant.rs @@ -41,6 +41,7 @@ use prompts::PromptLoadingParams; use semantic_index::{CloudEmbeddingProvider, SemanticDb}; use serde::{Deserialize, Serialize}; use settings::{update_settings_file, Settings, SettingsStore}; +use slash_command::search_command::SearchSlashCommandFeatureFlag; use slash_command::{ auto_command, cargo_workspace_command, context_server_command, default_command, delta_command, diagnostics_command, docs_command, fetch_command, file_command, now_command, project_command, @@ -212,21 +213,23 @@ pub fn init( }); } - cx.spawn(|mut cx| { - let client = client.clone(); - async move { - let embedding_provider = CloudEmbeddingProvider::new(client.clone()); - let semantic_index = SemanticDb::new( - paths::embeddings_dir().join("semantic-index-db.0.mdb"), - Arc::new(embedding_provider), - &mut cx, - ) - .await?; - - cx.update(|cx| cx.set_global(semantic_index)) - } - }) - .detach(); + if cx.has_flag::() { + cx.spawn(|mut cx| { + let client = client.clone(); + async move { + let embedding_provider = CloudEmbeddingProvider::new(client.clone()); + let semantic_index = SemanticDb::new( + paths::embeddings_dir().join("semantic-index-db.0.mdb"), + Arc::new(embedding_provider), + &mut cx, + ) + .await?; + + cx.update(|cx| cx.set_global(semantic_index)) + } + }) + .detach(); + } context_store::init(&client.clone().into()); prompt_library::init(cx); diff --git a/crates/assistant/src/slash_command/search_command.rs b/crates/assistant/src/slash_command/search_command.rs index f4bc3e36b6b1bb5573aa038ad08a8545164a36e0..ca33ded1127cac48bbc9003a2248df8972ebc03d 100644 --- a/crates/assistant/src/slash_command/search_command.rs +++ b/crates/assistant/src/slash_command/search_command.rs @@ -21,6 +21,10 @@ pub(crate) struct SearchSlashCommandFeatureFlag; impl FeatureFlag for SearchSlashCommandFeatureFlag { const NAME: &'static str = "search-slash-command"; + + fn enabled_for_staff() -> bool { + false + } } pub(crate) struct SearchSlashCommand;