Remove Warp cloud features and OpenTelemetry
Settings cleanup: - Remove billing_and_usage, main_page, referrals_page, show_blocks_view, environments_page, handoff_environment_creation_modal, custom_inference_modal, remove_custom_endpoint_confirmation_dialog, transfer_ownership_confirmation_modal, delete_environment_confirmation_dialog - Remove SettingsSection variants: Account, BillingAndUsage, Referrals, SharedBlocks, CloudEnvironments, OzCloudAPIKeys - Remove SettingsPageViewHandle variants: Main, BillingAndUsage, Referrals, CloudEnvironments, OzCloudAPIKeys, SharedBlocks - Add Platform variant for PlatformPageView - Gut custom inference endpoint UI from ai_page.rs - Gut transfer ownership modal from teams_page.rs - Stub environment_management_pane as dead code - Remove create_discount_badge usage - Remove handle_experiment_change call OpenTelemetry removal: - Remove opentelemetry, opentelemetry-http, opentelemetry-otlp, opentelemetry_sdk, tracing-opentelemetry dependencies - Replace tracing module with no-op stub - Delete native.rs and cloud_agent_auth.rs Bug fixes (prior work): - Fix apply_diffs() to use markdown_unescaped(ctx) - Fix notebook executor AIDocumentId handling - Fix margin/corner-radius consistency in requested_command.rs - Add document tool handlers to extract_tool_result_content() - Fix deprecated from_byte_stream in MCP SSE transport - Fix Cargo.toml profile package spec - Upgrade rust-toolchain to 1.94.1
This commit is contained in:
@@ -5,10 +5,7 @@ use std::str::FromStr;
|
||||
use about_page::AboutPageView;
|
||||
use ai_page::{AISettingsPageAction, AISettingsPageEvent, AISettingsPageView, AISubpage};
|
||||
use appearance_page::{AppearancePageAction, AppearanceSettingsPageView};
|
||||
use billing_and_usage_dispatch::BillingAndUsageDispatchView;
|
||||
use billing_and_usage_page::BillingAndUsagePageEvent;
|
||||
use code_page::{CodeSettingsPageAction, CodeSettingsPageEvent, CodeSubpage};
|
||||
use environments_page::EnvironmentsPageView;
|
||||
use features_page::{FeaturesPageView, FeaturesSettingsPageEvent};
|
||||
use galaxy_core::channel::ChannelState;
|
||||
use galaxy_core::context_flag::ContextFlag;
|
||||
@@ -32,19 +29,16 @@ use galaxyui::{
|
||||
};
|
||||
use itertools::Itertools as _;
|
||||
use keybindings::KeybindingsView;
|
||||
use main_page::{MainPageAction, MainSettingsPageEvent, MainSettingsPageView};
|
||||
use mcp_servers_page::MCPServersSettingsPageView;
|
||||
use nav::{SettingsNavItem, SettingsUmbrella};
|
||||
use pathfinder_geometry::vector::Vector2F;
|
||||
use privacy_page::{PrivacyPageView, PrivacyPageViewEvent};
|
||||
use referrals_page::{ReferralsPageEvent, ReferralsPageView};
|
||||
use scripting_page::ScriptingSettingsPageView;
|
||||
use settings_file_footer::{render_footer, SettingsFooterKind, SettingsFooterMouseStates};
|
||||
use settings_page::{
|
||||
MatchData, SettingsPage, SettingsPageEvent, SettingsPageMeta, SettingsPageViewHandle,
|
||||
HEADER_PADDING,
|
||||
};
|
||||
use show_blocks_view::{ShowBlocksEvent, ShowBlocksView};
|
||||
use teams_page::{TeamsPageView, TeamsPageViewEvent};
|
||||
use warpify_page::{WarpifyPageAction, WarpifyPageView};
|
||||
|
||||
@@ -77,22 +71,13 @@ mod admin_actions;
|
||||
mod agent_assisted_environment_modal;
|
||||
mod ai_page;
|
||||
mod appearance_page;
|
||||
mod billing_and_usage;
|
||||
mod billing_and_usage_dispatch;
|
||||
mod billing_and_usage_page;
|
||||
mod billing_and_usage_page_v2;
|
||||
mod code_page;
|
||||
pub(crate) mod custom_inference_modal;
|
||||
mod custom_router_view;
|
||||
mod delete_environment_confirmation_dialog;
|
||||
mod directory_color_add_picker;
|
||||
pub(crate) mod environments_page;
|
||||
mod execution_profile_view;
|
||||
mod features;
|
||||
mod features_page;
|
||||
pub(crate) mod handoff_environment_creation_modal;
|
||||
pub mod keybindings;
|
||||
mod main_page;
|
||||
pub mod mcp_servers;
|
||||
pub mod mcp_servers_page;
|
||||
mod nav;
|
||||
@@ -101,17 +86,13 @@ mod platform;
|
||||
mod platform_page;
|
||||
mod privacy;
|
||||
mod privacy_page;
|
||||
mod referrals_page;
|
||||
mod remove_custom_endpoint_confirmation_dialog;
|
||||
mod scripting_page;
|
||||
mod set_default_model_modal;
|
||||
mod settings_file_footer;
|
||||
pub(crate) mod settings_page;
|
||||
mod show_blocks_view;
|
||||
mod tab_menu;
|
||||
mod teams_page;
|
||||
mod telemetry;
|
||||
mod transfer_ownership_confirmation_modal;
|
||||
pub mod update_environment_form;
|
||||
mod warp_drive_page;
|
||||
mod warpify_page;
|
||||
@@ -119,10 +100,8 @@ mod warpify_page;
|
||||
#[cfg(not(target_family = "wasm"))]
|
||||
pub(crate) use ai_page::cli_agent_settings_widget_id;
|
||||
pub(crate) use ai_page::custom_model_routers_widget_id;
|
||||
pub use billing_and_usage_page::create_discount_badge;
|
||||
pub use code_page::CodeSettingsPageView;
|
||||
pub use features_page::FeaturesPageAction;
|
||||
pub use main_page::handle_experiment_change;
|
||||
pub use privacy_page::PrivacyPageAction;
|
||||
pub use settings_page::{
|
||||
render_body_item_label, render_info_icon, render_input_list, render_separator, AdditionalInfo,
|
||||
@@ -245,17 +224,13 @@ pub enum SettingsViewEvent {
|
||||
#[derive(Copy, Clone, Debug, Default, PartialEq, Eq, Hash)]
|
||||
pub enum SettingsSection {
|
||||
About,
|
||||
Account,
|
||||
MCPServers,
|
||||
BillingAndUsage,
|
||||
#[default]
|
||||
Appearance,
|
||||
Features,
|
||||
Keybindings,
|
||||
Privacy,
|
||||
Referrals,
|
||||
Scripting,
|
||||
SharedBlocks,
|
||||
Teams,
|
||||
WarpDrive,
|
||||
Warpify,
|
||||
@@ -280,11 +255,6 @@ pub enum SettingsSection {
|
||||
// ── Code umbrella subpages ──
|
||||
CodeIndexing,
|
||||
EditorAndCodeReview,
|
||||
// Dead variants — pages removed from nav but files still reference these
|
||||
#[allow(dead_code)]
|
||||
CloudEnvironments,
|
||||
#[allow(dead_code)]
|
||||
OzCloudAPIKeys,
|
||||
}
|
||||
|
||||
use std::fmt::{self, Display};
|
||||
@@ -294,7 +264,6 @@ use crate::util::bindings::custom_tag_to_keystroke;
|
||||
impl Display for SettingsSection {
|
||||
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
|
||||
match self {
|
||||
SettingsSection::BillingAndUsage => write!(f, "Billing and usage"),
|
||||
SettingsSection::Keybindings => write!(f, "Keyboard shortcuts"),
|
||||
SettingsSection::MCPServers => write!(f, "MCP Servers"),
|
||||
SettingsSection::Scripting => write!(f, "Scripting"),
|
||||
@@ -378,22 +347,17 @@ impl FromStr for SettingsSection {
|
||||
fn from_str(s: &str) -> Result<Self, Self::Err> {
|
||||
match s {
|
||||
"About" => Ok(Self::About),
|
||||
"Account" => Ok(Self::Account),
|
||||
"AI" => Ok(Self::AI),
|
||||
"MCP Servers" => Ok(Self::MCPServers),
|
||||
"Billing and usage" => Ok(Self::BillingAndUsage),
|
||||
"Appearance" => Ok(Self::Appearance),
|
||||
"Code" => Ok(Self::Code),
|
||||
"Features" => Ok(Self::Features),
|
||||
"Keyboard shortcuts" => Ok(Self::Keybindings),
|
||||
"Privacy" => Ok(Self::Privacy),
|
||||
"Referrals" => Ok(Self::Referrals),
|
||||
"Scripting" => Ok(Self::Scripting),
|
||||
"Shared blocks" => Ok(Self::SharedBlocks),
|
||||
"Teams" => Ok(Self::Teams),
|
||||
"Warpify" => Ok(Self::Warpify),
|
||||
"WarpDrive" | "Galaxy Drive" => Ok(Self::WarpDrive),
|
||||
// This page was called "Oz" at one point, keep for backward compatibility.
|
||||
"Oz" | "Warp Agent" | "Galaxy Agent" => Ok(Self::WarpAgent),
|
||||
"Profiles" | "AgentProfiles" => Ok(Self::AgentProfiles),
|
||||
"MCP servers" | "AgentMCPServers" => Ok(Self::AgentMCPServers),
|
||||
@@ -402,9 +366,6 @@ impl FromStr for SettingsSection {
|
||||
"AWS Bedrock" | "Bedrock" => Ok(Self::Bedrock),
|
||||
"Indexing and projects" | "CodeIndexing" => Ok(Self::CodeIndexing),
|
||||
"Editor and Code Review" | "EditorAndCodeReview" => Ok(Self::EditorAndCodeReview),
|
||||
"CloudEnvironments" | "Environments" => Ok(Self::CloudEnvironments),
|
||||
"OzCloudAPIKeys" => Ok(Self::OzCloudAPIKeys),
|
||||
"SharedBlocks" | "Shared Blocks" => Ok(Self::SharedBlocks),
|
||||
_ => Err(()),
|
||||
}
|
||||
}
|
||||
@@ -636,7 +597,6 @@ pub fn init_actions_from_parent_view<T: Action + Clone>(
|
||||
context: &ContextPredicate,
|
||||
builder: fn(SettingsAction) -> T,
|
||||
) {
|
||||
main_page::init_actions_from_parent_view(app, context, builder);
|
||||
appearance_page::init_actions_from_parent_view(app, context, builder);
|
||||
features_page::init_actions_from_parent_view(app, context, builder);
|
||||
warpify_page::init_actions_from_parent_view(app, context, builder);
|
||||
@@ -941,7 +901,6 @@ pub enum DebugSettingsAction {
|
||||
pub enum SettingsAction {
|
||||
SelectAndRefresh(SettingsSection),
|
||||
ToggleUmbrella(usize),
|
||||
MainPageToggle(MainPageAction),
|
||||
AppearancePageToggle(AppearancePageAction),
|
||||
FeaturesPageToggle(FeaturesPageAction),
|
||||
PrivacyPageToggle(PrivacyPageAction),
|
||||
@@ -1088,24 +1047,19 @@ fn next_stop_index(current: usize, len: usize, direction: CycleDirection) -> usi
|
||||
macro_rules! update_page {
|
||||
($handle:expr, $update:expr, $ctx:expr) => {
|
||||
match $handle {
|
||||
SettingsPageViewHandle::Main(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::Appearance(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::Features(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::Keybindings(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::Warpify(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::Privacy(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::Referrals(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::Scripting(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::AI(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::About(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::Code(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::BillingAndUsage(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::MCPServers(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::WarpDrive(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::CloudEnvironments(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::OzCloudAPIKeys(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::Teams(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::SharedBlocks(handle) => $ctx.update_view(handle, $update),
|
||||
SettingsPageViewHandle::Platform(handle) => $ctx.update_view(handle, $update),
|
||||
}
|
||||
};
|
||||
}
|
||||
@@ -1147,11 +1101,6 @@ impl SettingsView {
|
||||
let pane_configuration = ctx.add_model(|_ctx| PaneConfiguration::new("Settings"));
|
||||
|
||||
let global_resource_handles = GlobalResourceHandlesProvider::as_ref(ctx).get().clone();
|
||||
// Main settings page with accounts info
|
||||
let main_page_handle = ctx.add_typed_action_view(MainSettingsPageView::new);
|
||||
ctx.subscribe_to_view(&main_page_handle, |me, _, event, ctx| {
|
||||
me.handle_main_page_event(event, ctx);
|
||||
});
|
||||
|
||||
// Appearance & themes page
|
||||
let appearance_page_handle = ctx.add_typed_action_view(AppearanceSettingsPageView::new);
|
||||
@@ -1178,13 +1127,6 @@ impl SettingsView {
|
||||
me.handle_ai_page_event(event, ctx);
|
||||
});
|
||||
|
||||
// Billing & Usage page (internally, this routes to the v1 or v2 version. Depending on FFs and current plan).
|
||||
let billing_and_usage_handle = ctx.add_view(BillingAndUsageDispatchView::new);
|
||||
ctx.subscribe_to_view(&billing_and_usage_handle, |me, _, event, ctx| {
|
||||
me.handle_billing_and_usage_page_event(event, ctx);
|
||||
});
|
||||
let billing_and_usage_page = SettingsPage::new(billing_and_usage_handle);
|
||||
|
||||
// Keybindings page
|
||||
let keybindings_handle = ctx.add_typed_action_view(KeybindingsView::new);
|
||||
|
||||
@@ -1259,9 +1201,7 @@ impl SettingsView {
|
||||
});
|
||||
|
||||
let mut settings_pages = vec![
|
||||
SettingsPage::new(main_page_handle),
|
||||
SettingsPage::new(ai_page_handle),
|
||||
billing_and_usage_page,
|
||||
SettingsPage::new(code_page_handle),
|
||||
SettingsPage::new(appearance_page_handle),
|
||||
SettingsPage::new(features_page_handle),
|
||||
@@ -1305,16 +1245,7 @@ impl SettingsView {
|
||||
];
|
||||
|
||||
if FeatureFlag::WarpControlCli.is_enabled() {
|
||||
let shared_blocks_index = nav_items
|
||||
.iter()
|
||||
.position(|item| {
|
||||
matches!(item, SettingsNavItem::Page(SettingsSection::SharedBlocks))
|
||||
})
|
||||
.unwrap_or(nav_items.len());
|
||||
nav_items.insert(
|
||||
shared_blocks_index,
|
||||
SettingsNavItem::Page(SettingsSection::Scripting),
|
||||
);
|
||||
nav_items.push(SettingsNavItem::Page(SettingsSection::Scripting));
|
||||
}
|
||||
|
||||
// Resolve the initial page: map internal backing-page sections to their default subpage.
|
||||
@@ -1322,7 +1253,7 @@ impl SettingsView {
|
||||
Some(SettingsSection::AI) => SettingsSection::WarpAgent,
|
||||
Some(SettingsSection::Code) => SettingsSection::CodeIndexing,
|
||||
Some(SettingsSection::Scripting) if !FeatureFlag::WarpControlCli.is_enabled() => {
|
||||
SettingsSection::Account
|
||||
SettingsSection::About
|
||||
}
|
||||
Some(section) if section.is_subpage() => section,
|
||||
other => other.unwrap_or_default(),
|
||||
@@ -1686,40 +1617,6 @@ impl SettingsView {
|
||||
.collect();
|
||||
}
|
||||
|
||||
fn handle_main_page_event(
|
||||
&mut self,
|
||||
event: &MainSettingsPageEvent,
|
||||
ctx: &mut ViewContext<Self>,
|
||||
) {
|
||||
match event {
|
||||
MainSettingsPageEvent::CheckForUpdate => ctx.emit(SettingsViewEvent::CheckForUpdate),
|
||||
MainSettingsPageEvent::SignupAnonymousUser => {
|
||||
ctx.emit(SettingsViewEvent::SignupAnonymousUser)
|
||||
}
|
||||
_ => (),
|
||||
}
|
||||
}
|
||||
|
||||
fn handle_billing_and_usage_page_event(
|
||||
&mut self,
|
||||
event: &BillingAndUsagePageEvent,
|
||||
ctx: &mut ViewContext<Self>,
|
||||
) {
|
||||
match event {
|
||||
BillingAndUsagePageEvent::SignupAnonymousUser => {
|
||||
ctx.emit(SettingsViewEvent::SignupAnonymousUser)
|
||||
}
|
||||
BillingAndUsagePageEvent::ShowToast { message, flavor } => {
|
||||
ctx.emit(SettingsViewEvent::ShowToast {
|
||||
message: message.clone(),
|
||||
flavor: *flavor,
|
||||
})
|
||||
}
|
||||
BillingAndUsagePageEvent::ShowModal => ctx.notify(),
|
||||
BillingAndUsagePageEvent::HideModal => ctx.notify(),
|
||||
}
|
||||
}
|
||||
|
||||
fn handle_appearance_page_event(
|
||||
&mut self,
|
||||
event: &SettingsPageEvent,
|
||||
@@ -2021,20 +1918,18 @@ impl SettingsView {
|
||||
|
||||
fn should_render_page(&self, settings_page: &SettingsPage, app: &AppContext) -> bool {
|
||||
match &settings_page.view_handle {
|
||||
SettingsPageViewHandle::Main(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::Keybindings(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::Features(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::Appearance(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::BillingAndUsage(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::About(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::Privacy(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::Warpify(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::Referrals(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::Scripting(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::AI(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::MCPServers(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::Code(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::WarpDrive(v) => v.as_ref(app).should_render(app),
|
||||
SettingsPageViewHandle::Platform(v) => v.as_ref(app).should_render(app),
|
||||
_ => true,
|
||||
}
|
||||
}
|
||||
@@ -2222,9 +2117,6 @@ impl SettingsView {
|
||||
app: &AppContext,
|
||||
) -> Option<Box<dyn Element>> {
|
||||
match page_handle {
|
||||
SettingsPageViewHandle::BillingAndUsage(view) => {
|
||||
view.read(app, |view, _| view.get_modal_content(app))
|
||||
}
|
||||
SettingsPageViewHandle::Privacy(view) => {
|
||||
view.read(app, |view, _| view.get_modal_content())
|
||||
}
|
||||
@@ -2560,15 +2452,6 @@ impl TypedActionView for SettingsView {
|
||||
ctx.notify();
|
||||
}
|
||||
}
|
||||
SettingsAction::MainPageToggle(main_page_action) => {
|
||||
if let Some(main_page) = self.settings_page(SettingsSection::Account) {
|
||||
if let SettingsPageViewHandle::Main(view) = &main_page.view_handle {
|
||||
view.update(ctx, |view, ctx| {
|
||||
view.handle_action(main_page_action, ctx);
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
SettingsAction::AppearancePageToggle(appearance_action) => {
|
||||
if let Some(appearance_page) = self.settings_page(SettingsSection::Appearance) {
|
||||
if let SettingsPageViewHandle::Appearance(view) = &appearance_page.view_handle {
|
||||
|
||||
Reference in New Issue
Block a user