From 9fe97ade1ebf4a60d8b320616ebdb54fa4c3c578 Mon Sep 17 00:00:00 2001 From: Max Brunsfeld Date: Tue, 3 Feb 2026 23:53:49 -0800 Subject: [PATCH] Remove sweep and mercury feature flags (#48329) Release Notes: - N/A --- Cargo.lock | 1 - crates/edit_prediction/src/edit_prediction.rs | 12 ------------ .../src/edit_prediction_button.rs | 18 +++++++----------- crates/settings_ui/Cargo.toml | 1 - .../pages/edit_prediction_provider_setup.rs | 15 +++++++-------- crates/zed/src/zed/edit_prediction_registry.rs | 8 +++----- 6 files changed, 17 insertions(+), 38 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index dd2f3331f4cca54fc82fc8ee4c408ef63aa3cbfa..80d3092d51799cc42b007e7a447888192e9688cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -15131,7 +15131,6 @@ dependencies = [ "edit_prediction", "edit_prediction_ui", "editor", - "feature_flags", "fs", "futures 0.3.31", "fuzzy", diff --git a/crates/edit_prediction/src/edit_prediction.rs b/crates/edit_prediction/src/edit_prediction.rs index 84b2829bb685a1c0dde50aad92897d1f2f3657be..0d34f7b0fe5ee0f90cb137c0837f03c08b635fe1 100644 --- a/crates/edit_prediction/src/edit_prediction.rs +++ b/crates/edit_prediction/src/edit_prediction.rs @@ -105,18 +105,6 @@ const LAST_CHANGE_GROUPING_TIME: Duration = Duration::from_secs(1); const ZED_PREDICT_DATA_COLLECTION_CHOICE: &str = "zed_predict_data_collection_choice"; const REJECT_REQUEST_DEBOUNCE: Duration = Duration::from_secs(15); -pub struct SweepFeatureFlag; - -impl FeatureFlag for SweepFeatureFlag { - const NAME: &str = "sweep-ai"; -} - -pub struct MercuryFeatureFlag; - -impl FeatureFlag for MercuryFeatureFlag { - const NAME: &str = "mercury"; -} - static EDIT_PREDICTIONS_MODEL_ID: LazyLock> = LazyLock::new(|| env::var("ZED_ZETA_MODEL").ok()); diff --git a/crates/edit_prediction_ui/src/edit_prediction_button.rs b/crates/edit_prediction_ui/src/edit_prediction_button.rs index 25d45818a46d43301894e01c7b8f0b99eb1f7cda..395afaf31f40c9ce3f8c77b5210432f1cef1f129 100644 --- a/crates/edit_prediction_ui/src/edit_prediction_button.rs +++ b/crates/edit_prediction_ui/src/edit_prediction_button.rs @@ -3,9 +3,7 @@ use client::{Client, UserStore, zed_urls}; use cloud_llm_client::UsageLimit; use codestral::CodestralEditPredictionDelegate; use copilot::Status; -use edit_prediction::{ - EditPredictionStore, MercuryFeatureFlag, SweepFeatureFlag, Zeta2FeatureFlag, -}; +use edit_prediction::{EditPredictionStore, Zeta2FeatureFlag}; use edit_prediction_types::EditPredictionDelegateHandle; use editor::{ Editor, MultiBufferOffset, SelectionEffects, actions::ShowEditPrediction, scroll::Autoscroll, @@ -1358,18 +1356,16 @@ pub fn get_available_providers(cx: &mut App) -> Vec { providers.push(EditPredictionProvider::Ollama); } - if cx.has_flag::() - && edit_prediction::sweep_ai::sweep_api_token(cx) - .read(cx) - .has_key() + if edit_prediction::sweep_ai::sweep_api_token(cx) + .read(cx) + .has_key() { providers.push(EditPredictionProvider::Sweep); } - if cx.has_flag::() - && edit_prediction::mercury::mercury_api_token(cx) - .read(cx) - .has_key() + if edit_prediction::mercury::mercury_api_token(cx) + .read(cx) + .has_key() { providers.push(EditPredictionProvider::Mercury); } diff --git a/crates/settings_ui/Cargo.toml b/crates/settings_ui/Cargo.toml index 81fb7503697f33c4aa3716807369a5327c32e114..4c14cf9e0d7ef952052501a1db26102989a2bce9 100644 --- a/crates/settings_ui/Cargo.toml +++ b/crates/settings_ui/Cargo.toml @@ -24,7 +24,6 @@ copilot_ui.workspace = true edit_prediction.workspace = true edit_prediction_ui.workspace = true editor.workspace = true -feature_flags.workspace = true fs.workspace = true futures.workspace = true fuzzy.workspace = true diff --git a/crates/settings_ui/src/pages/edit_prediction_provider_setup.rs b/crates/settings_ui/src/pages/edit_prediction_provider_setup.rs index 1cbd56f5ab9333a4fc069c269ffa7d2f44467121..b88a355d6779d0273b291b8b31a5041268d7e416 100644 --- a/crates/settings_ui/src/pages/edit_prediction_provider_setup.rs +++ b/crates/settings_ui/src/pages/edit_prediction_provider_setup.rs @@ -1,10 +1,9 @@ use edit_prediction::{ - ApiKeyState, MercuryFeatureFlag, SweepFeatureFlag, + ApiKeyState, mercury::{MERCURY_CREDENTIALS_URL, mercury_api_token}, sweep_ai::{SWEEP_CREDENTIALS_URL, sweep_api_token}, }; use edit_prediction_ui::{get_available_providers, set_completion_provider}; -use feature_flags::FeatureFlagAppExt as _; use gpui::{Entity, ScrollHandle, prelude::*}; use language::language_settings::AllLanguageSettings; use language_models::provider::mistral::{CODESTRAL_API_URL, codestral_api_key}; @@ -29,7 +28,7 @@ pub(crate) fn render_edit_prediction_setup_page( let providers = [ Some(render_provider_dropdown(window, cx)), render_github_copilot_provider(window, cx).map(IntoElement::into_any_element), - cx.has_flag::().then(|| { + Some( render_api_key_provider( IconName::Inception, "Mercury", @@ -40,9 +39,9 @@ pub(crate) fn render_edit_prediction_setup_page( window, cx, ) - .into_any_element() - }), - cx.has_flag::().then(|| { + .into_any_element(), + ), + Some( render_api_key_provider( IconName::SweepAi, "Sweep", @@ -62,8 +61,8 @@ pub(crate) fn render_edit_prediction_setup_page( window, cx, ) - .into_any_element() - }), + .into_any_element(), + ), Some(render_ollama_provider(settings_window, window, cx).into_any_element()), Some( render_api_key_provider( diff --git a/crates/zed/src/zed/edit_prediction_registry.rs b/crates/zed/src/zed/edit_prediction_registry.rs index f13ae32c51f76cab794aa0c0bb886c8fc4ad8c7e..ff4234ec2c5a0ecb1e12d336d26e13bd9ca564d9 100644 --- a/crates/zed/src/zed/edit_prediction_registry.rs +++ b/crates/zed/src/zed/edit_prediction_registry.rs @@ -2,9 +2,7 @@ use client::{Client, UserStore}; use codestral::CodestralEditPredictionDelegate; use collections::HashMap; use copilot::CopilotEditPredictionDelegate; -use edit_prediction::{ - MercuryFeatureFlag, SweepFeatureFlag, ZedEditPredictionDelegate, Zeta2FeatureFlag, -}; +use edit_prediction::{ZedEditPredictionDelegate, Zeta2FeatureFlag}; use editor::Editor; use feature_flags::FeatureFlagAppExt; use gpui::{AnyWindowHandle, App, AppContext as _, Context, Entity, WeakEntity}; @@ -204,10 +202,10 @@ fn assign_edit_prediction_provider( { let has_model = ep_store.update(cx, |ep_store, cx| { let model = match value { - EditPredictionProvider::Sweep if cx.has_flag::() => { + EditPredictionProvider::Sweep => { edit_prediction::EditPredictionModel::Sweep } - EditPredictionProvider::Mercury if cx.has_flag::() => { + EditPredictionProvider::Mercury => { edit_prediction::EditPredictionModel::Mercury } EditPredictionProvider::Ollama => {