@@ -15,7 +15,6 @@ mod thread_history;
mod thread_store;
mod ui;
-use std::any::TypeId;
use std::sync::Arc;
use client::Client;
@@ -79,10 +78,6 @@ pub fn init(fs: Arc<dyn Fs>, client: Arc<Client>, stdout_is_a_pty: bool, cx: &mu
}
fn feature_gate_assistant2_actions(cx: &mut AppContext) {
- const ASSISTANT1_NAMESPACE: &str = "assistant";
-
- let inline_assist_actions = [TypeId::of::<zed_actions::InlineAssist>()];
-
CommandPaletteFilter::update_global(cx, |filter, _cx| {
filter.hide_namespace(NAMESPACE);
});
@@ -91,17 +86,10 @@ fn feature_gate_assistant2_actions(cx: &mut AppContext) {
if is_enabled {
CommandPaletteFilter::update_global(cx, |filter, _cx| {
filter.show_namespace(NAMESPACE);
- filter.hide_namespace(ASSISTANT1_NAMESPACE);
-
- // We're hiding all of the `assistant: ` actions, but we want to
- // keep the inline assist action around so we can use the same
- // one in Assistant2.
- filter.show_action_types(inline_assist_actions.iter());
});
} else {
CommandPaletteFilter::update_global(cx, |filter, _cx| {
filter.hide_namespace(NAMESPACE);
- filter.show_namespace(ASSISTANT1_NAMESPACE);
});
}
})
@@ -240,7 +240,6 @@ pub fn initialize_workspace(
let git_ui_feature_flag = cx.wait_for_flag::<feature_flags::GitUiFeatureFlag>();
let prompt_builder = prompt_builder.clone();
- let is_staff = cx.is_staff();
cx.spawn(|workspace_handle, mut cx| async move {
let project_panel = ProjectPanel::load(workspace_handle.clone(), cx.clone());
@@ -254,6 +253,8 @@ pub fn initialize_workspace(
workspace_handle.clone(),
cx.clone(),
);
+ let assistant_panel =
+ assistant::AssistantPanel::load(workspace_handle.clone(), prompt_builder, cx.clone());
let (
project_panel,
@@ -262,6 +263,7 @@ pub fn initialize_workspace(
channels_panel,
chat_panel,
notification_panel,
+ assistant_panel,
) = futures::try_join!(
project_panel,
outline_panel,
@@ -269,6 +271,7 @@ pub fn initialize_workspace(
channels_panel,
chat_panel,
notification_panel,
+ assistant_panel,
)?;
workspace_handle.update(&mut cx, |workspace, cx| {
@@ -278,15 +281,15 @@ pub fn initialize_workspace(
workspace.add_panel(channels_panel, cx);
workspace.add_panel(chat_panel, cx);
workspace.add_panel(notification_panel, cx);
+ workspace.add_panel(assistant_panel, cx);
})?;
- let git_ui_enabled = git_ui_feature_flag.await || is_staff;
+ let git_ui_enabled = git_ui_feature_flag.await;
let git_panel = if git_ui_enabled {
Some(git_ui::git_panel::GitPanel::load(workspace_handle.clone(), cx.clone()).await?)
} else {
None
};
-
workspace_handle.update(&mut cx, |workspace, cx| {
if let Some(git_panel) = git_panel {
workspace.add_panel(git_panel, cx);
@@ -299,27 +302,20 @@ pub fn initialize_workspace(
} else {
assistant2_feature_flag.await
};
-
- let (assistant_panel, assistant2_panel) = if is_assistant2_enabled {
- let assistant2_panel =
- assistant2::AssistantPanel::load(workspace_handle.clone(), cx.clone()).await?;
-
- (None, Some(assistant2_panel))
+ let assistant2_panel = if is_assistant2_enabled {
+ Some(assistant2::AssistantPanel::load(workspace_handle.clone(), cx.clone()).await?)
} else {
- let assistant_panel =
- assistant::AssistantPanel::load(workspace_handle.clone(), prompt_builder, cx.clone()).await?;
-
- (Some(assistant_panel), None)
+ None
};
workspace_handle.update(&mut cx, |workspace, cx| {
- if let Some(assistant_panel) = assistant_panel {
- workspace.add_panel(assistant_panel, cx);
- workspace.register_action(assistant::AssistantPanel::inline_assist);
- }
-
if let Some(assistant2_panel) = assistant2_panel {
workspace.add_panel(assistant2_panel, cx);
+ }
+
+ if is_assistant2_enabled {
workspace.register_action(assistant2::InlineAssistant::inline_assist);
+ } else {
+ workspace.register_action(assistant::AssistantPanel::inline_assist);
}
})
})