Remove GitUiFeatureFlag and enable panel unconditionally (#26386)

Conrad Irwin created

Release Notes:

- git: Enable for everyone

Change summary

Cargo.lock                                |  1 -
crates/feature_flags/src/feature_flags.rs |  5 -----
crates/git_ui/Cargo.toml                  |  3 +--
crates/git_ui/src/project_diff.rs         | 14 +++++---------
crates/zed/src/zed.rs                     | 14 ++++++--------
5 files changed, 12 insertions(+), 25 deletions(-)

Detailed changes

Cargo.lock 🔗

@@ -5451,7 +5451,6 @@ dependencies = [
  "db",
  "editor",
  "env_logger 0.11.6",
- "feature_flags",
  "futures 0.3.31",
  "fuzzy",
  "git",

crates/feature_flags/src/feature_flags.rs 🔗

@@ -80,11 +80,6 @@ impl FeatureFlag for PredictEditsNonEagerModeFeatureFlag {
     }
 }
 
-pub struct GitUiFeatureFlag;
-impl FeatureFlag for GitUiFeatureFlag {
-    const NAME: &'static str = "git-ui";
-}
-
 pub struct Remoting {}
 impl FeatureFlag for Remoting {
     const NAME: &'static str = "remoting";

crates/git_ui/Cargo.toml 🔗

@@ -18,13 +18,12 @@ test-support = ["multi_buffer/test-support"]
 
 [dependencies]
 anyhow.workspace = true
-askpass.workspace= true
+askpass.workspace = true
 buffer_diff.workspace = true
 collections.workspace = true
 component.workspace = true
 db.workspace = true
 editor.workspace = true
-feature_flags.workspace = true
 futures.workspace = true
 fuzzy.workspace = true
 git.workspace = true

crates/git_ui/src/project_diff.rs 🔗

@@ -7,7 +7,6 @@ use editor::{
     scroll::Autoscroll,
     Editor, EditorEvent,
 };
-use feature_flags::FeatureFlagViewExt;
 use futures::StreamExt;
 use git::{
     repository::Branch, status::FileStatus, Commit, StageAll, StageAndNext, ToggleStaged,
@@ -64,16 +63,13 @@ const NEW_NAMESPACE: &'static str = "2";
 
 impl ProjectDiff {
     pub(crate) fn register(
-        _: &mut Workspace,
-        window: Option<&mut Window>,
+        workspace: &mut Workspace,
+        _window: Option<&mut Window>,
         cx: &mut Context<Workspace>,
     ) {
-        let Some(window) = window else { return };
-        cx.when_flag_enabled::<feature_flags::GitUiFeatureFlag>(window, |workspace, _, _cx| {
-            workspace.register_action(Self::deploy);
-            workspace.register_action(|workspace, _: &Add, window, cx| {
-                Self::deploy(workspace, &Diff, window, cx);
-            });
+        workspace.register_action(Self::deploy);
+        workspace.register_action(|workspace, _: &Add, window, cx| {
+            Self::deploy(workspace, &Diff, window, cx);
         });
 
         workspace::register_serializable_item::<ProjectDiff>(cx);

crates/zed/src/zed.rs 🔗

@@ -20,7 +20,7 @@ use collections::VecDeque;
 use command_palette_hooks::CommandPaletteFilter;
 use editor::ProposedChangesEditorToolbar;
 use editor::{scroll::Autoscroll, Editor, MultiBuffer};
-use feature_flags::{FeatureFlagAppExt, FeatureFlagViewExt, GitUiFeatureFlag};
+use feature_flags::FeatureFlagAppExt;
 use futures::{channel::mpsc, select_biased, StreamExt};
 use git_ui::git_panel::GitPanel;
 use git_ui::project_diff::ProjectDiffToolbar;
@@ -429,13 +429,11 @@ fn initialize_panels(
             workspace.add_panel(channels_panel, window, cx);
             workspace.add_panel(chat_panel, window, cx);
             workspace.add_panel(notification_panel, window, cx);
-            cx.when_flag_enabled::<GitUiFeatureFlag>(window, |workspace, window, cx| {
-                let entity = cx.entity();
-                let project = workspace.project().clone();
-                let app_state = workspace.app_state().clone();
-                let git_panel = cx.new(|cx| GitPanel::new(entity, project, app_state, window, cx));
-                workspace.add_panel(git_panel, window, cx);
-            });
+            let entity = cx.entity();
+            let project = workspace.project().clone();
+            let app_state = workspace.app_state().clone();
+            let git_panel = cx.new(|cx| GitPanel::new(entity, project, app_state, window, cx));
+            workspace.add_panel(git_panel, window, cx);
         })?;
 
         let is_assistant2_enabled = if cfg!(test) {