diff --git a/app/Cargo.toml b/app/Cargo.toml index 348f94856d..847a51645a 100644 --- a/app/Cargo.toml +++ b/app/Cargo.toml @@ -546,7 +546,6 @@ default = [ "agent_management_details_view", "interactive_conversation_management_view", "shared_block_title_generation", - "tab_close_button_on_left", "ai_resume_button", "code_find_replace", "ai_context_menu_code", @@ -837,7 +836,6 @@ standalone = ["warp_assets/standalone"] prompt_suggestions_via_maa = [] voice_input = ["dep:voice_input"] system_theme = [] -tab_close_button_on_left = [] team_features_override = [] test-util = ["cloud_object_client/test-util", "warp_server_auth/test-util"] team_workflows = ["team_features_override"] diff --git a/app/src/features.rs b/app/src/features.rs index 7e023e4a99..d7aa874822 100644 --- a/app/src/features.rs +++ b/app/src/features.rs @@ -215,8 +215,6 @@ fn enabled_features() -> HashSet { FeatureFlag::ExpandEditToPane, #[cfg(feature = "fallback_model_load_output_messaging")] FeatureFlag::FallbackModelLoadOutputMessaging, - #[cfg(feature = "tab_close_button_on_left")] - FeatureFlag::TabCloseButtonOnLeft, #[cfg(feature = "profiles_design_revamp")] FeatureFlag::ProfilesDesignRevamp, #[cfg(feature = "search_codebase_ui")] diff --git a/app/src/settings_view/appearance_page.rs b/app/src/settings_view/appearance_page.rs index 7ea7fb386c..242bd21cfd 100644 --- a/app/src/settings_view/appearance_page.rs +++ b/app/src/settings_view/appearance_page.rs @@ -1458,9 +1458,7 @@ impl AppearanceSettingsPageView { { tab_settings_widgets.push(Box::new(ZenModeWidget::default())); } - if FeatureFlag::TabCloseButtonOnLeft.is_enabled() { - tab_settings_widgets.push(Box::new(TabCloseButtonPositionWidget::default())); - } + tab_settings_widgets.push(Box::new(TabCloseButtonPositionWidget::default())); tab_settings_widgets.push(Box::new(PreserveActiveTabColorWidget::default())); if FeatureFlag::VerticalTabs.is_enabled() { diff --git a/app/src/tab.rs b/app/src/tab.rs index 91238e84e7..6fe1077407 100644 --- a/app/src/tab.rs +++ b/app/src/tab.rs @@ -1630,9 +1630,7 @@ impl<'a> TabComponent<'a> { // We preserve that behavior in the flag-OFF path out of an abundance of caution to avoid breaking existing functionality. let (parent_anchor, child_anchor, horizontal_inset) = if FeatureFlag::NewTabStyling.is_enabled() { - if FeatureFlag::TabCloseButtonOnLeft.is_enabled() - && matches!(self.close_button_position, TabCloseButtonPosition::Left) - { + if matches!(self.close_button_position, TabCloseButtonPosition::Left) { ( ParentAnchor::MiddleLeft, ChildAnchor::MiddleLeft, @@ -1645,9 +1643,7 @@ impl<'a> TabComponent<'a> { -(TAB_CLOSE_BUTTON_HORIZONTAL_INSET + 4.0), ) } - } else if FeatureFlag::TabCloseButtonOnLeft.is_enabled() - && matches!(self.close_button_position, TabCloseButtonPosition::Left) - { + } else if matches!(self.close_button_position, TabCloseButtonPosition::Left) { ( ParentAnchor::TopLeft, ChildAnchor::TopLeft, diff --git a/app/src/workspace/view.rs b/app/src/workspace/view.rs index bb5ef188ea..141875b261 100644 --- a/app/src/workspace/view.rs +++ b/app/src/workspace/view.rs @@ -490,7 +490,6 @@ use crate::workspace::header_toolbar_item::HeaderToolbarItemKind; use crate::workspace::one_time_modal_model::OneTimeModalModel; use crate::workspace::sync_inputs::SyncedInputState; use crate::workspace::tab_group::{TabGroup, TabGroupId}; -use crate::workspace::tab_settings::TabCloseButtonPosition; use crate::workspace::toast_stack::{ ToastStack, ToastStack as WorkspaceToastStack, ToastStackEvent as WorkspaceToastStackEvent, }; @@ -19486,11 +19485,7 @@ impl Workspace { ctx: &AppContext, ) -> Box { let tab = &self.tabs[tab_index]; - let close_button_position = if FeatureFlag::TabCloseButtonOnLeft.is_enabled() { - TabSettings::as_ref(ctx).close_button_position - } else { - TabCloseButtonPosition::default() - }; + let close_button_position = TabSettings::as_ref(ctx).close_button_position; let is_drag_target = self .hovered_tab_index @@ -19584,11 +19579,7 @@ impl Workspace { ) .finish(), ); - let close_button_position = if FeatureFlag::TabCloseButtonOnLeft.is_enabled() { - TabSettings::as_ref(ctx).close_button_position - } else { - TabCloseButtonPosition::default() - }; + let close_button_position = TabSettings::as_ref(ctx).close_button_position; // When a group has only one member, suppress that member's per-tab // `Draggable` so the parent group's `Draggable` picks up the drag // instead, dragging the whole group rather than orphaning it. @@ -19887,11 +19878,7 @@ impl Workspace { vertical_tabs::render_tab_group_for_drag_ghost(self, tab_index, ctx) } else { let tab = &self.tabs[tab_index]; - let close_button_position = if FeatureFlag::TabCloseButtonOnLeft.is_enabled() { - TabSettings::as_ref(ctx).close_button_position - } else { - TabCloseButtonPosition::default() - }; + let close_button_position = TabSettings::as_ref(ctx).close_button_position; let tab_bar_state = TabBarState { tab_count: self.tabs.len(), active_tab_index: Some(tab_index), diff --git a/crates/warp_features/src/lib.rs b/crates/warp_features/src/lib.rs index 3dbdd8b8ac..c0018594db 100644 --- a/crates/warp_features/src/lib.rs +++ b/crates/warp_features/src/lib.rs @@ -336,9 +336,6 @@ pub enum FeatureFlag { /// Enables fallback model load output messaging in the warping indicator. FallbackModelLoadOutputMessaging, - /// Enables close button on left side of tabs - TabCloseButtonOnLeft, - /// Enables AI agent profile settings UI and functionality. /// /// TODO: When cleaning up this flag, also remove the `show_model_selectors_in_prompt`