Rebrand to Galaxy, major improvements to Bedrock support, still needs some TLC though

This commit is contained in:
Ryan Ward
2026-05-07 11:29:34 -05:00
parent f4e2475c60
commit a41cbd8cc7
2433 changed files with 14208 additions and 9409 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
};
use warpui::accessibility::AccessibilityVerbosity;
use galaxyui::accessibility::AccessibilityVerbosity;
define_settings_group!(AccessibilitySettings, settings: [
a11y_verbosity: AccessibilityVerbosityState {
+25 -23
View File
@@ -17,16 +17,16 @@ use cfg_if::cfg_if;
use chrono::{DateTime, Utc};
use lazy_static::lazy_static;
use regex::Regex;
use warpui::platform::OperatingSystem;
use warpui::{
use galaxyui::platform::OperatingSystem;
use galaxyui::{
platform::keyboard::KeyCode, AppContext, Entity, ModelContext, SingletonEntity, UpdateModel,
};
use settings::{
define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
};
use warp_core::execution_mode::AppExecutionMode;
use warp_core::features::FeatureFlag;
use galaxy_core::execution_mode::AppExecutionMode;
use galaxy_core::features::FeatureFlag;
use serde::{de::Deserializer, Deserialize, Serialize};
use strum::IntoEnumIterator;
@@ -215,8 +215,8 @@ impl VoiceInputToggleKey {
/// Converts the voice input toggle key to a Keystroke representation.
/// Since these are standalone modifier keys, we construct the Keystroke directly
/// rather than using `parse()` (which always requires a non-modifier key to be included).
pub fn keystroke(&self) -> Option<warpui::keymap::Keystroke> {
use warpui::keymap::Keystroke;
pub fn keystroke(&self) -> Option<galaxyui::keymap::Keystroke> {
use galaxyui::keymap::Keystroke;
let keystroke = match self {
VoiceInputToggleKey::None => return None,
@@ -442,7 +442,9 @@ impl BedrockAuthMethod {
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, schemars::JsonSchema)]
#[schemars(description = "Configuration for a single AWS Bedrock model.")]
pub struct BedrockModelConfig {
#[schemars(description = "The Bedrock model ID (e.g. anthropic.claude-sonnet-4-20250514-v1:0).")]
#[schemars(
description = "The Bedrock model ID (e.g. anthropic.claude-sonnet-4-20250514-v1:0)."
)]
pub model_id: String,
#[schemars(description = "Display name shown in the model picker.")]
pub display_name: String,
@@ -1461,7 +1463,7 @@ define_settings_group!(AISettings, settings: [
// This setting is only used when the AI autonomy setting is AlwaysAsk or not set.
cloud_agent_computer_use_enabled: CloudAgentComputerUseEnabled {
type: bool,
default: warp_core::channel::ChannelState::channel().is_dogfood(),
default: galaxy_core::channel::ChannelState::channel().is_dogfood(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
private: false,
@@ -1667,41 +1669,41 @@ impl AISettings {
.cloned()
}
pub fn is_active_ai_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_active_ai_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_any_ai_enabled(app)
&& *self.is_active_ai_enabled_internal
&& AppExecutionMode::as_ref(app).allows_active_ai()
}
pub fn is_prompt_suggestions_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_prompt_suggestions_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_active_ai_enabled(app) && *self.prompt_suggestions_enabled_internal
}
pub fn is_rule_suggestions_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_rule_suggestions_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_active_ai_enabled(app) && *self.rule_suggestions_enabled_internal
}
pub fn is_code_suggestions_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_code_suggestions_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_active_ai_enabled(app) && *self.code_suggestions_enabled_internal
}
pub fn is_natural_language_autosuggestions_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_natural_language_autosuggestions_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_active_ai_enabled(app) && *self.natural_language_autosuggestions_enabled_internal
}
pub fn is_shared_block_title_generation_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_shared_block_title_generation_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_active_ai_enabled(app) && *self.shared_block_title_generation_enabled_internal
}
pub fn is_git_operations_autogen_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_git_operations_autogen_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_active_ai_enabled(app) && *self.git_operations_autogen_enabled_internal
}
pub fn is_intelligent_autosuggestions_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_intelligent_autosuggestions_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_active_ai_enabled(app) && *self.intelligent_autosuggestions_enabled_internal
}
pub fn is_voice_input_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_voice_input_enabled(&self, app: &galaxyui::AppContext) -> bool {
// Voice input is conditionally-compiled because it requires additional dependencies on some platforms.
cfg!(feature = "voice_input")
&& self.is_any_ai_enabled(app)
@@ -1712,7 +1714,7 @@ impl AISettings {
///
/// If `FeatureFlag::AgentView` is enabled, this specifically gates NLD enablement in the agent
/// view only.
pub fn is_ai_autodetection_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_ai_autodetection_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_any_ai_enabled(app) && *self.ai_autodetection_enabled_internal
}
@@ -1721,19 +1723,19 @@ impl AISettings {
/// This is only used when `FeatureFlag::AgentView` is enabled.
/// If the user has not explicitly set this setting, it defaults to the value of
/// `ai_autodetection_enabled_internal`.
pub fn is_nld_in_terminal_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_nld_in_terminal_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_any_ai_enabled(app) && *self.nld_in_terminal_enabled_internal
}
pub fn is_memory_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_memory_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_any_ai_enabled(app) && *self.memory_enabled
}
pub fn is_warp_drive_context_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_warp_drive_context_enabled(&self, app: &galaxyui::AppContext) -> bool {
self.is_any_ai_enabled(app) && *self.warp_drive_context_enabled
}
pub fn is_file_based_mcp_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_file_based_mcp_enabled(&self, app: &galaxyui::AppContext) -> bool {
if !FeatureFlag::FileBasedMcp.is_enabled() || !self.is_any_ai_enabled(app) {
return false;
}
@@ -1748,7 +1750,7 @@ impl AISettings {
*self.file_based_mcp_enabled
}
pub fn is_orchestration_enabled(&self, app: &warpui::AppContext) -> bool {
pub fn is_orchestration_enabled(&self, app: &galaxyui::AppContext) -> bool {
FeatureFlag::Orchestration.is_enabled()
&& self.is_any_ai_enabled(app)
&& *self.orchestration_enabled
+2 -2
View File
@@ -4,8 +4,8 @@ use crate::{
test_util::settings::initialize_settings_for_tests,
};
use chrono::Utc;
use warp_graphql::scalars::time::ServerTimestamp;
use warpui::{App, SingletonEntity};
use galaxy_graphql::scalars::time::ServerTimestamp;
use galaxyui::{App, SingletonEntity};
fn create_test_request_limit_info(
limit: usize,
+1 -1
View File
@@ -1,6 +1,6 @@
use enum_iterator::Sequence;
use serde::{Deserialize, Serialize};
use warp_core::{
use galaxy_core::{
channel::{Channel, ChannelState},
settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud},
};
+6 -6
View File
@@ -7,11 +7,11 @@ use std::{
use lazy_static::lazy_static;
use settings::{Setting as _, SyncToCloud};
use std::time::Duration;
use warp_core::settings::ChangeEventReason;
use warp_core::user_preferences::GetUserPreferences;
use warpui::r#async::Timer;
use warpui::{Entity, ModelContext, SingletonEntity};
use warpui_extras::user_preferences::toml_backed::TomlBackedUserPreferences;
use galaxy_core::settings::ChangeEventReason;
use galaxy_core::user_preferences::GetUserPreferences;
use galaxyui::r#async::Timer;
use galaxyui::{Entity, ModelContext, SingletonEntity};
use galaxyui_extras::user_preferences::toml_backed::TomlBackedUserPreferences;
use crate::{
auth::auth_state::AuthState,
@@ -39,7 +39,7 @@ use crate::{
workspaces::user_workspaces::UserWorkspaces,
};
use warp_core::execution_mode::AppExecutionMode;
use galaxy_core::execution_mode::AppExecutionMode;
use super::{
cloud_preferences::{CloudPreferencesSettings, CloudPreferencesSettingsChangedEvent},
@@ -6,7 +6,7 @@ use std::{
};
use chrono::{DateTime, Utc};
use warpui::{App, SingletonEntity};
use galaxyui::{App, SingletonEntity};
use crate::{
auth::auth_state::AuthState,
@@ -31,7 +31,7 @@ use crate::{
Assets,
};
use warp_core::{
use galaxy_core::{
settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms,
SyncToCloud,
@@ -313,7 +313,7 @@ fn test_sync_local_pref_to_cloud_after_initial_sync_creates_prefs_setting() {
});
// Spend time waiting for the initial load to finish etc.
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
// Wait for the syncer to create the preferences and privacy settings.
await_spawned_futures(
@@ -419,7 +419,7 @@ fn test_sync_local_pref_to_cloud_after_initial_sync() {
});
// Spend time waiting for the initial load to finish etc.
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
app.update(|ctx| {
// And then update all settings forcing the create requests
@@ -533,7 +533,7 @@ fn run_initial_sync_test(is_onboarded: bool) {
});
// Spend time waiting for the initial load to finish etc.
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
let expected_num_spawned_futures = if !is_onboarded { 4 } else { 3 };
await_spawned_futures(
@@ -553,7 +553,7 @@ fn run_initial_sync_test(is_onboarded: bool) {
});
});
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
assert_eq!(
is_onboarded,
@@ -645,7 +645,7 @@ fn test_sync_local_pref_to_cloud_updates_existing_pref() {
});
// Give the initial load time to complete
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
// complete the create request for the cloud settings and the telemetry/crash reporting settings
await_spawned_futures(
@@ -667,7 +667,7 @@ fn test_sync_local_pref_to_cloud_updates_existing_pref() {
});
// Give the update time to spawn futures
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
assert_num_spawned_futures(&mut app, 4, "expect the syncer to send an update request");
spawned_sync_queue_future_at_index(&mut app, 3).await;
@@ -737,7 +737,7 @@ fn test_sync_cloud_pref_to_local_on_initial_load_or_collab_update() {
});
// Spend time waiting for the initial load to finish etc.
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
// complete the create request for the cloud settings and the telemetry/crash reporting settings
await_spawned_futures(
@@ -896,7 +896,7 @@ fn test_cloud_preferences_setting_initial_load_skipped_when_setting_is_off() {
enable_settings_sync(&mut app);
// Spend time waiting for the initial load to finish etc.
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
// complete the create request for the cloud settings and the telemetry/crash reporting settings
await_spawned_futures(
@@ -961,7 +961,7 @@ fn test_sync_local_pref_to_cloud_doesnt_update_equal_pref() {
});
// Spend time waiting for the initial load to finish etc.
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
// Complete the create request for cloud prefs syncing
await_spawned_futures(
@@ -1049,7 +1049,7 @@ fn test_cloud_preferences_setting_enabling_setting_syncs_prefs() {
});
// Spend time waiting for the initial load to finish etc.
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
await_spawned_futures(
&mut app,
@@ -1121,7 +1121,7 @@ fn test_cloud_pref_not_synced_when_current_value_not_syncable() {
});
// Run any spawned futures
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
await_spawned_futures(&mut app, 3, "initial load").await;
// Verify that the local value remains false and wasn't synced from cloud's true
@@ -1200,7 +1200,7 @@ fn test_ensure_no_duplicate_cloud_prefs() {
});
// Give time for the initial load and deduplication to complete
warpui::r#async::Timer::after(Duration::from_secs(1)).await;
galaxyui::r#async::Timer::after(Duration::from_secs(1)).await;
// Wait for the initial creation of cloud settings and telemetry settings
await_spawned_futures(
@@ -1258,7 +1258,7 @@ async fn drain_sync_queue(app: &mut App) {
// one can cause others to be spawned (e.g. an update in response
// to a cloud change).
for _ in 0..5 {
warpui::r#async::Timer::after(Duration::from_millis(200)).await;
galaxyui::r#async::Timer::after(Duration::from_millis(200)).await;
let num = SyncQueue::handle(app).read(app, |sq, _| sq.spawned_futures().len());
if num == 0 {
return;
@@ -1274,7 +1274,7 @@ async fn drain_sync_queue(app: &mut App) {
/// syncer will compare against.
fn write_settings_file_with_content(path: &std::path::Path, content: &str) -> String {
std::fs::write(path, content).expect("write temp settings file");
warpui_extras::user_preferences::toml_backed::TomlBackedUserPreferences::file_content_hash(path)
galaxyui_extras::user_preferences::toml_backed::TomlBackedUserPreferences::file_content_hash(path)
.expect("hash should be Some for non-empty file")
}
@@ -1696,7 +1696,7 @@ fn test_offline_ui_change_does_not_update_hash_until_sync_succeeds() {
// Give the syncer a moment to finish handling the setting
// change event.
warpui::r#async::Timer::after(Duration::from_millis(200)).await;
galaxyui::r#async::Timer::after(Duration::from_millis(200)).await;
// CRITICAL ASSERTION: the stored hash must NOT have been
// updated. The upload is enqueued but the SyncQueue is
+1 -1
View File
@@ -61,7 +61,7 @@ impl DebugSettings {
pub fn should_show_memory_stats(&self) -> bool {
// We only want to show memory stats in dogfood and not in tests.
*self.show_memory_stats.value()
&& warp_core::channel::ChannelState::enable_debug_features()
&& galaxy_core::channel::ChannelState::enable_debug_features()
&& !cfg!(test)
}
}
+1 -1
View File
@@ -6,7 +6,7 @@ use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting as _, SupportedPlatforms,
SyncToCloud,
};
use warpui::ModelContext;
use galaxyui::ModelContext;
#[derive(
Clone,
+14 -3
View File
@@ -1,14 +1,15 @@
use warp_core::ui::builder::MIN_FONT_SIZE;
use warpui::{fonts::Weight, rendering::ThinStrokes, AppContext, SingletonEntity};
use galaxy_core::ui::builder::MIN_FONT_SIZE;
use galaxyui::{fonts::Weight, rendering::ThinStrokes, AppContext, SingletonEntity};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
};
use warpui::elements::DEFAULT_UI_LINE_HEIGHT_RATIO;
use galaxyui::elements::DEFAULT_UI_LINE_HEIGHT_RATIO;
use super::EnforceMinimumContrast as EnforceMinimumContrastEnum;
pub const DEFAULT_MONOSPACE_FONT_NAME: &str = "Hack";
pub const DEFAULT_UI_FONT_NAME: &str = "";
pub const DEFAULT_MONOSPACE_FONT_SIZE: f32 = 13.0;
pub const DEFAULT_MONOSPACE_FONT_WEIGHT: Weight = Weight::Normal;
@@ -24,6 +25,16 @@ define_settings_group!(FontSettings,
toml_path: "appearance.text.font_name",
description: "The monospace font used in the terminal.",
},
ui_font_name: UIFontName {
type: String,
default: DEFAULT_UI_FONT_NAME.to_string(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Never,
private: false,
storage_key: "UIFontName",
toml_path: "appearance.text.ui_font_name",
description: "The font used for UI chrome text.",
},
monospace_font_size: MonospaceFontSize {
type: f32,
default: DEFAULT_MONOSPACE_FONT_SIZE,
+1 -1
View File
@@ -1,5 +1,5 @@
use settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud};
use warpui::platform::GraphicsBackend;
use galaxyui::platform::GraphicsBackend;
define_settings_group!(GPUSettings, settings: [
prefer_low_power_gpu: PreferLowPowerGPU {
+2 -2
View File
@@ -3,11 +3,11 @@ use async_recursion::async_recursion;
use async_trait::async_trait;
use serde::Deserialize;
use std::{env, io::ErrorKind, path::PathBuf};
use warp_core::ui::{
use galaxy_core::ui::{
color::hex_color::coloru_from_hex_string,
theme::{AnsiColor, AnsiColors, TerminalColors, WarpTheme},
};
use warpui::fonts::FontInfo;
use galaxyui::fonts::FontInfo;
use super::config::{
calculate_accent_color, Config, ConfigError, ImportableSetting, ParseableConfig, SettingType,
@@ -1,6 +1,6 @@
use async_io::block_on;
use virtual_fs::{Stub, VirtualFS};
use warp_core::ui::{color::hex_color::coloru_from_hex_string, theme::AnsiColor};
use galaxy_core::ui::{color::hex_color::coloru_from_hex_string, theme::AnsiColor};
use crate::settings::import::config::{ParseableConfig, ThemeType};
+2 -2
View File
@@ -3,14 +3,14 @@ use std::{path::PathBuf, sync::Arc};
use pathfinder_color::ColorU;
use serde::Serialize;
use strum_macros::EnumIter;
use warp_core::ui::{
use galaxy_core::ui::{
color::hex_color::HexColorError as UiHexColorError,
theme::{AnsiColors, WarpTheme},
};
use async_trait::async_trait;
use thiserror::Error;
use warpui::{fonts::FontInfo, keymap::Keystroke, DisplayIdx};
use galaxyui::{fonts::FontInfo, keymap::Keystroke, DisplayIdx};
use crate::{
interval_timer::IntervalTimer,
+2 -2
View File
@@ -6,8 +6,8 @@ use itertools::Itertools;
use palette::Srgba;
use pathfinder_color::ColorU;
use plist::{Dictionary, Value};
use warp_core::ui::theme::{AnsiColors, TerminalColors, WarpTheme};
use warpui::{
use galaxy_core::ui::theme::{AnsiColors, TerminalColors, WarpTheme};
use galaxyui::{
fonts::FontInfo, keymap::Keystroke, platform::mac::utils::unicode_char_to_key, DisplayIdx,
};
@@ -2,8 +2,8 @@ use async_io::block_on;
use pathfinder_color::ColorU;
use plist::{Dictionary, Value};
use virtual_fs::{Stub, VirtualFS};
use warp_core::ui::theme::{Fill, WarpTheme};
use warpui::{fonts::FontInfo, keymap::Keystroke};
use galaxy_core::ui::theme::{Fill, WarpTheme};
use galaxyui::{fonts::FontInfo, keymap::Keystroke};
use crate::settings::import::{
config::{GlobalHotkey, HotkeyError, ImportedFont, ParseableConfig, ThemeType},
+5 -5
View File
@@ -7,10 +7,10 @@ use crate::{send_telemetry_from_ctx, TelemetryEvent};
use serde::Serialize;
use strum::IntoEnumIterator;
use strum_macros::{EnumDiscriminants, EnumIter};
use warp_core::features::FeatureFlag;
use warpui::Entity;
use warpui::ModelContext;
use warpui::SingletonEntity;
use galaxy_core::features::FeatureFlag;
use galaxyui::Entity;
use galaxyui::ModelContext;
use galaxyui::SingletonEntity;
#[cfg(target_os = "macos")]
use super::config::HotkeyError;
@@ -50,7 +50,7 @@ impl ImportedConfigModel {
use strum::IntoEnumIterator;
self.started = true;
let loaded_system_fonts = warpui::fonts::Cache::handle(ctx)
let loaded_system_fonts = galaxyui::fonts::Cache::handle(ctx)
.update(ctx, |font_cache, ctx| font_cache.all_system_fonts(ctx));
ctx.spawn(loaded_system_fonts, |_, fonts, ctx| {
let fonts = fonts
+19 -19
View File
@@ -1,7 +1,7 @@
use itertools::Itertools;
use warp_core::{settings::Setting, ui::appearance::Appearance};
use galaxy_core::{settings::Setting, ui::appearance::Appearance};
use warpui::{
use galaxyui::{
elements::{
Border, Container, CornerRadius, Flex, Hoverable, MainAxisAlignment, MainAxisSize,
MouseStateHandle, ParentElement, Radius, Shrinkable, Text,
@@ -17,7 +17,7 @@ use warpui::{
ViewContext,
};
use warpui::ui_components::radio_buttons::RadioButtonStateHandle;
use galaxyui::ui_components::radio_buttons::RadioButtonStateHandle;
use crate::{
report_if_error, send_telemetry_from_ctx,
@@ -217,7 +217,7 @@ impl SettingsImportView {
&self,
appearance: &Appearance,
name: impl Into<std::borrow::Cow<'static, str>>,
) -> Box<dyn warpui::Element> {
) -> Box<dyn galaxyui::Element> {
let theme = appearance.theme();
let font_color = theme.disabled_text_color(theme.background());
let font_family = appearance.monospace_font_family();
@@ -237,8 +237,8 @@ impl SettingsImportView {
fn render_import_button(
&self,
appearance: &Appearance,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let model = ImportedConfigModel::as_ref(app);
let button = if self
.radio_button_state
@@ -282,7 +282,7 @@ impl SettingsImportView {
.finish()
}
fn render_reset_button(&self, appearance: &Appearance) -> Box<dyn warpui::Element> {
fn render_reset_button(&self, appearance: &Appearance) -> Box<dyn galaxyui::Element> {
appearance
.ui_builder()
.button(ButtonVariant::Secondary, self.skip_button_handle.clone())
@@ -311,8 +311,8 @@ impl SettingsImportView {
appearance: &Appearance,
setting: &ToggleableSetting,
idx: usize,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let theme = appearance.theme();
let font_family = appearance.monospace_font_family();
let font_color = blended_colors::text_sub(theme, theme.background());
@@ -343,7 +343,7 @@ impl SettingsImportView {
)
.with_child(Shrinkable::new(1.0, description.finish()).finish())
.with_main_axis_size(MainAxisSize::Max)
.with_cross_axis_alignment(warpui::elements::CrossAxisAlignment::Center)
.with_cross_axis_alignment(galaxyui::elements::CrossAxisAlignment::Center)
.finish(),
)
.finish()
@@ -356,8 +356,8 @@ impl SettingsImportView {
is_selected: bool,
hovered: bool,
idx: usize,
app: &warpui::AppContext,
) -> Box<dyn warpui::Element> {
app: &galaxyui::AppContext,
) -> Box<dyn galaxyui::Element> {
let theme = appearance.theme();
let font_family = appearance.monospace_font_family();
let font_color = theme.main_text_color(theme.background());
@@ -389,7 +389,7 @@ impl SettingsImportView {
}
let config_name_flex = Flex::row()
.with_cross_axis_alignment(warpui::elements::CrossAxisAlignment::Center)
.with_cross_axis_alignment(galaxyui::elements::CrossAxisAlignment::Center)
.with_children(config_name_text_elements)
.finish();
@@ -461,7 +461,7 @@ impl SettingsImportView {
.with_opacity(appearance.theme().settings_import_config_hover_opacity());
let preference_flex = Flex::row()
.with_cross_axis_alignment(warpui::elements::CrossAxisAlignment::Center)
.with_cross_axis_alignment(galaxyui::elements::CrossAxisAlignment::Center)
.with_children(preference_text_elements)
.finish();
Container::new(
@@ -473,7 +473,7 @@ impl SettingsImportView {
.with_child(Shrinkable::new(3.0, config_name_flex).finish())
.with_child(Shrinkable::new(1.0, preference_flex).finish())
.with_cross_axis_alignment(
warpui::elements::CrossAxisAlignment::Center,
galaxyui::elements::CrossAxisAlignment::Center,
)
.with_main_axis_size(MainAxisSize::Max)
.with_main_axis_alignment(MainAxisAlignment::SpaceBetween)
@@ -516,7 +516,7 @@ impl SettingsImportView {
appearance: &Appearance,
settings: &[ToggleableSetting],
idx: usize,
app: &warpui::AppContext,
app: &galaxyui::AppContext,
) -> Box<dyn Element> {
let mut iter = settings.iter();
let mut column_holder = Flex::row().with_main_axis_size(MainAxisSize::Max);
@@ -747,7 +747,7 @@ impl SettingsImportView {
}
fn set_theme(
ctx: &mut warpui::ViewContext<Self>,
ctx: &mut galaxyui::ViewContext<Self>,
theme_type: ThemeType,
terminal_name: &String,
) {
@@ -861,7 +861,7 @@ impl SettingsImportView {
);
}
pub(crate) fn interrupt_block(&mut self, ctx: &mut warpui::ViewContext<Self>) {
pub(crate) fn interrupt_block(&mut self, ctx: &mut galaxyui::ViewContext<Self>) {
self.state = State::Completed { imported_idx: None };
ctx.notify();
}
@@ -907,7 +907,7 @@ impl View for SettingsImportView {
"SettingsImportView"
}
fn render(&self, app: &warpui::AppContext) -> Box<dyn warpui::Element> {
fn render(&self, app: &galaxyui::AppContext) -> Box<dyn galaxyui::Element> {
let appearance = Appearance::as_ref(app);
let font_family = appearance.monospace_font_family();
let font_size = appearance.monospace_font_size();
+12 -12
View File
@@ -1,7 +1,7 @@
use settings::{Setting as _, SettingsManager};
use warp_core::features::FeatureFlag;
use warpui::{rendering::GPUPowerPreference, AppContext, SingletonEntity};
use warpui_extras::user_preferences;
use galaxy_core::features::FeatureFlag;
use galaxyui::{rendering::GPUPowerPreference, AppContext, SingletonEntity};
use galaxyui_extras::user_preferences;
use crate::{
ai::cloud_agent_settings::CloudAgentSettings,
@@ -29,7 +29,7 @@ use crate::{
workspace::tab_settings::TabSettings,
};
use warp_core::semantic_selection::SemanticSelection;
use galaxy_core::semantic_selection::SemanticSelection;
use super::{
app_icon::AppIconSettings, app_installation_detection::UserAppInstallDetectionSettings,
@@ -206,7 +206,7 @@ pub fn init(
// push changed values into setting models.
#[cfg(feature = "local_fs")]
{
let prefs = <settings::PublicPreferences as warpui::SingletonEntity>::as_ref(ctx);
let prefs = <settings::PublicPreferences as galaxyui::SingletonEntity>::as_ref(ctx);
if prefs.is_settings_file() {
ctx.subscribe_to_model(
&crate::user_config::WarpConfig::handle(ctx),
@@ -222,7 +222,7 @@ pub fn init(
/// the settings file is modified, created, or deleted.
#[cfg(feature = "local_fs")]
fn handle_warp_config_change(
_: warpui::ModelHandle<crate::user_config::WarpConfig>,
_: galaxyui::ModelHandle<crate::user_config::WarpConfig>,
event: &crate::user_config::WarpConfigUpdateEvent,
ctx: &mut AppContext,
) {
@@ -231,7 +231,7 @@ fn handle_warp_config_change(
if !matches!(event, WarpConfigUpdateEvent::Settings) {
return;
}
let prefs = <settings::PublicPreferences as warpui::SingletonEntity>::as_ref(ctx);
let prefs = <settings::PublicPreferences as galaxyui::SingletonEntity>::as_ref(ctx);
if let Err(err) = prefs.reload_from_disk() {
log::warn!("Settings file reload failed: {err}");
WarpConfig::handle(ctx).update(ctx, |_, ctx| {
@@ -270,11 +270,11 @@ fn init_platform_native_preferences() -> user_preferences::Model {
}
}
} else if #[cfg(target_os = "windows")] {
let app_id = warp_core::channel::ChannelState::app_id();
let app_id = galaxy_core::channel::ChannelState::app_id();
Box::new(user_preferences::registry_backed::RegistryBackedPreferences::new(app_id.application_name()))
} else if #[cfg(target_os = "macos")] {
Box::new(user_preferences::user_defaults::UserDefaultsPreferencesStorage::new(
warp_core::channel::ChannelState::data_domain_if_not_default()
galaxy_core::channel::ChannelState::data_domain_if_not_default()
))
} else if #[cfg(target_family = "wasm")] {
Box::<user_preferences::local_storage::LocalStoragePreferences>::default()
@@ -309,7 +309,7 @@ pub fn init_public_user_preferences() -> (user_preferences::Model, Option<user_p
} else if #[cfg(target_family = "wasm")] {
(Box::<user_preferences::local_storage::LocalStoragePreferences>::default(), None)
} else {
if warp_core::features::FeatureFlag::SettingsFile.is_enabled() {
if galaxy_core::features::FeatureFlag::SettingsFile.is_enabled() {
let (prefs, parse_error) =
user_preferences::toml_backed::TomlBackedUserPreferences::new(
super::user_preferences_toml_file_path(),
@@ -342,7 +342,7 @@ fn needs_settings_file_migration(ctx: &AppContext) -> bool {
return false;
}
use warp_core::user_preferences::GetUserPreferences as _;
use galaxy_core::user_preferences::GetUserPreferences as _;
ctx.private_user_preferences()
.read_value(SETTINGS_FILE_MIGRATION_COMPLETE_KEY)
.unwrap_or_default()
@@ -359,7 +359,7 @@ fn needs_settings_file_migration(ctx: &AppContext) -> bool {
/// the in-memory setting, and writes to the TOML file with the correct
/// hierarchy, `serialize_for_file` transforms, and `max_table_depth`.
fn migrate_native_settings_to_settings_file(ctx: &mut AppContext) {
use warp_core::user_preferences::GetUserPreferences as _;
use galaxy_core::user_preferences::GetUserPreferences as _;
log::info!("Migrating public settings from native store to settings.toml");
+17 -17
View File
@@ -4,11 +4,11 @@ use settings::{
Setting, SettingsManager,
};
use settings_value::SettingsValue;
use warp_core::features::FeatureFlag;
use warp_core::settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud};
use warp_core::user_preferences::GetUserPreferences as _;
use warpui::SingletonEntity;
use warpui_extras::user_preferences;
use galaxy_core::features::FeatureFlag;
use galaxy_core::settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud};
use galaxy_core::user_preferences::GetUserPreferences as _;
use galaxyui::SingletonEntity;
use galaxyui_extras::user_preferences;
use crate::terminal::session_settings::{NotificationsMode, NotificationsSettings};
@@ -47,7 +47,7 @@ define_settings_group!(MigrationTestSettings, settings: [
/// Registers separate InMemoryPreferences singletons for public and private
/// stores, then adds a SettingsManager and the test settings group.
fn init_test_app(ctx: &mut warpui::AppContext) {
fn init_test_app(ctx: &mut galaxyui::AppContext) {
ctx.add_singleton_model(move |_| {
PublicPreferences::new(Box::<user_preferences::in_memory::InMemoryPreferences>::default())
});
@@ -80,7 +80,7 @@ impl Drop for SettingsFileEnabledGuard {
#[test]
#[serial_test::serial]
fn test_migration_copies_public_settings_from_native_store() {
warpui::App::test((), |mut app| async move {
galaxyui::App::test((), |mut app| async move {
// Enable the settings file so `preferences_for_setting` routes
// public setting writes to the Model singleton (not the private store).
let _guard = FeatureFlag::SettingsFile.override_enabled(true);
@@ -144,7 +144,7 @@ fn test_migration_copies_public_settings_from_native_store() {
#[test]
fn test_migration_writes_marker_to_native_store() {
warpui::App::test((), |mut app| async move {
galaxyui::App::test((), |mut app| async move {
app.update(init_test_app);
// No marker before migration.
@@ -174,7 +174,7 @@ fn test_migration_writes_marker_to_native_store() {
#[test]
#[serial_test::serial]
fn test_migration_skips_settings_absent_from_native_store() {
warpui::App::test((), |mut app| async move {
galaxyui::App::test((), |mut app| async move {
let _guard = FeatureFlag::SettingsFile.override_enabled(true);
let _settings_file_enabled = SettingsFileEnabledGuard::new(true);
app.update(init_test_app);
@@ -217,7 +217,7 @@ fn test_migration_skips_settings_absent_from_native_store() {
#[test]
fn test_migration_handles_string_setting() {
warpui::App::test((), |mut app| async move {
galaxyui::App::test((), |mut app| async move {
app.update(init_test_app);
// Seed a JSON-encoded string value in the native store.
@@ -245,7 +245,7 @@ fn test_migration_handles_string_setting() {
#[test]
fn test_migration_does_not_rerun_when_marker_present() {
warpui::App::test((), |mut app| async move {
galaxyui::App::test((), |mut app| async move {
let _guard = FeatureFlag::SettingsFile.override_enabled(true);
app.update(init_test_app);
@@ -284,7 +284,7 @@ fn test_migration_does_not_rerun_when_marker_present() {
#[test]
#[serial_test::serial]
fn test_migration_with_multiple_setting_types() {
warpui::App::test((), |mut app| async move {
galaxyui::App::test((), |mut app| async move {
let _guard = FeatureFlag::SettingsFile.override_enabled(true);
let _settings_file_enabled = SettingsFileEnabledGuard::new(true);
@@ -380,8 +380,8 @@ fn test_migration_with_multiple_setting_types() {
mod notifications_migration {
use settings::{PrivatePreferences, PublicPreferences, SettingsManager};
use warp_core::settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud};
use warpui_extras::user_preferences;
use galaxy_core::settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud};
use galaxyui_extras::user_preferences;
use crate::terminal::session_settings::NotificationsSettings;
@@ -397,7 +397,7 @@ mod notifications_migration {
},
]);
pub fn init_notifications_migration_test_app(ctx: &mut warpui::AppContext) {
pub fn init_notifications_migration_test_app(ctx: &mut galaxyui::AppContext) {
ctx.add_singleton_model(move |_| {
PublicPreferences::new(
Box::<user_preferences::in_memory::InMemoryPreferences>::default(),
@@ -464,7 +464,7 @@ fn test_notifications_from_file_value_rejects_serde_format_duration() {
#[test]
#[serial_test::serial]
fn test_migration_preserves_notifications_mode() {
warpui::App::test((), |mut app| async move {
galaxyui::App::test((), |mut app| async move {
let _guard = FeatureFlag::SettingsFile.override_enabled(true);
let _settings_file_enabled = SettingsFileEnabledGuard::new(true);
@@ -503,7 +503,7 @@ fn test_migration_preserves_notifications_mode() {
#[test]
#[serial_test::serial]
fn test_migration_preserves_custom_long_running_threshold() {
warpui::App::test((), |mut app| async move {
galaxyui::App::test((), |mut app| async move {
let _guard = FeatureFlag::SettingsFile.override_enabled(true);
let _settings_file_enabled = SettingsFileEnabledGuard::new(true);
+3 -3
View File
@@ -1,7 +1,7 @@
use std::sync::Arc;
use warp_core::{features::FeatureFlag, settings::Setting};
use warpui::{Entity, ModelContext, SingletonEntity};
use galaxy_core::{features::FeatureFlag, settings::Setting};
use galaxyui::{Entity, ModelContext, SingletonEntity};
use crate::settings::{AISettings, FontSettings, ThinkingDisplayMode};
use crate::{
@@ -132,7 +132,7 @@ impl SettingsInitializer {
//
// TODO(jefflloyd): Remove this approximately 6 weeks from 3/19/26.
{
use warp_core::user_preferences::GetUserPreferences as _;
use galaxy_core::user_preferences::GetUserPreferences as _;
AISettings::handle(ctx).update(ctx, |ai_settings, ctx| {
// If the new setting already has a value in preferences, the
+1 -1
View File
@@ -2,7 +2,7 @@ use serde::{Deserialize, Serialize};
/// TODO: move alias_expansion setting into this group.
use settings::{define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud};
use std::collections::HashMap;
use warpui::{AppContext, SingletonEntity};
use galaxyui::{AppContext, SingletonEntity};
use crate::terminal::input::inline_menu::InlineMenuType;
use crate::terminal::session_settings::SessionSettings;
+1 -1
View File
@@ -1,5 +1,5 @@
use settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud};
use warpui::platform::linux;
use galaxyui::platform::linux;
define_settings_group!(LinuxAppConfiguration,
settings: [
+5 -5
View File
@@ -64,7 +64,7 @@ pub use select::*;
pub use ssh::*;
pub use theme::*;
pub use vim_banner::*;
use warp_core::user_preferences::GetUserPreferences as _;
use galaxy_core::user_preferences::GetUserPreferences as _;
/// Describes errors encountered when loading settings from `settings.toml`.
#[derive(Clone, Debug, PartialEq, Eq)]
@@ -127,8 +127,8 @@ use serde::{Deserialize, Serialize};
use serde_json::{json, Value};
use settings::Setting as _;
use std::{collections::HashMap, ops::Mul, path::PathBuf};
use warp_core::features::FeatureFlag;
use warpui::{
use galaxy_core::features::FeatureFlag;
use galaxyui::{
elements::DEFAULT_UI_LINE_HEIGHT_RATIO, keymap::Keystroke, AppContext, DisplayIdx,
SingletonEntity,
};
@@ -583,10 +583,10 @@ pub struct ExtraMetaKeysChangedArg {
/// Returns the path to the user preferences file.
pub fn user_preferences_file_path() -> PathBuf {
warp_core::paths::config_local_dir().join("user_preferences.json")
galaxy_core::paths::config_local_dir().join("user_preferences.json")
}
/// Returns the path to the TOML settings file.
pub fn user_preferences_toml_file_path() -> PathBuf {
warp_core::paths::config_local_dir().join("settings.toml")
galaxy_core::paths::config_local_dir().join("settings.toml")
}
+2 -2
View File
@@ -9,8 +9,8 @@ use crate::workspaces::user_workspaces::UserWorkspaces;
use onboarding::slides::{AgentAutonomy, AgentDevelopmentSettings};
use onboarding::{SelectedSettings, SessionDefault, UICustomizationSettings};
use settings::Setting as _;
use warp_core::features::FeatureFlag;
use warpui::{AppContext, SingletonEntity as _};
use galaxy_core::features::FeatureFlag;
use galaxyui::{AppContext, SingletonEntity as _};
/// Applies onboarding settings based on the user's selected mode.
pub fn apply_onboarding_settings(selected_settings: &SelectedSettings, app: &mut AppContext) {
+1 -1
View File
@@ -2,7 +2,7 @@ use ai::LLMId;
use chrono::{DateTime, Utc};
use onboarding::slides::{AgentAutonomy, AgentDevelopmentSettings, ProjectOnboardingSettings};
use onboarding::SelectedSettings;
use warpui::{App, SingletonEntity};
use galaxyui::{App, SingletonEntity};
use crate::ai::execution_profiles::profiles::AIExecutionProfilesModel;
use crate::ai::execution_profiles::{
+4 -4
View File
@@ -3,10 +3,10 @@ use std::sync::Arc;
use anyhow::Result;
use regex::Regex;
use warp_core::features::FeatureFlag;
use warp_core::report_if_error;
use warp_core::user_preferences::GetUserPreferences as _;
use warpui::{AppContext, Entity, ModelContext, SingletonEntity, UpdateModel};
use galaxy_core::features::FeatureFlag;
use galaxy_core::report_if_error;
use galaxy_core::user_preferences::GetUserPreferences as _;
use galaxyui::{AppContext, Entity, ModelContext, SingletonEntity, UpdateModel};
use crate::ai::blocklist::telemetry_banner::should_collect_ai_ugc_telemetry;
use crate::auth::auth_state::AuthState;
+1 -1
View File
@@ -1,5 +1,5 @@
use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud};
use warp_core::define_settings_group;
use galaxy_core::define_settings_group;
use serde::{Deserialize, Serialize};
+1 -1
View File
@@ -1,6 +1,6 @@
use std::ops::Not;
use warpui::{clipboard::ClipboardContent, AppContext};
use galaxyui::{clipboard::ClipboardContent, AppContext};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
+1 -1
View File
@@ -1,4 +1,4 @@
use warpui::{platform::SystemTheme, AppContext};
use galaxyui::{platform::SystemTheme, AppContext};
use crate::themes::theme::{RespectSystemTheme, SelectedSystemThemes, ThemeKind};
use settings::{
+1 -1
View File
@@ -1,6 +1,6 @@
use crate::banner::BannerState;
use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud};
use warp_core::define_settings_group;
use galaxy_core::define_settings_group;
// This isn't exactly a setting, but rather a record of a
// user action that should be persisted the same way we would a setting.