Wrapping up bedrock implementation

This commit is contained in:
Ryan Ward
2026-05-13 10:04:59 -05:00
parent ed53aa99eb
commit cee61e2af0
1144 changed files with 2954 additions and 2660 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
use galaxyui::accessibility::AccessibilityVerbosity;
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
};
use galaxyui::accessibility::AccessibilityVerbosity;
define_settings_group!(AccessibilitySettings, settings: [
a11y_verbosity: AccessibilityVerbosityState {
+4 -4
View File
@@ -15,18 +15,18 @@ use crate::terminal::CLIAgent;
use crate::workspaces::user_workspaces::UserWorkspaces;
use cfg_if::cfg_if;
use chrono::{DateTime, Utc};
use lazy_static::lazy_static;
use regex::Regex;
use galaxyui::platform::OperatingSystem;
use galaxyui::{
platform::keyboard::KeyCode, AppContext, Entity, ModelContext, SingletonEntity, UpdateModel,
};
use lazy_static::lazy_static;
use regex::Regex;
use galaxy_core::execution_mode::AppExecutionMode;
use galaxy_core::features::FeatureFlag;
use settings::{
define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
};
use galaxy_core::execution_mode::AppExecutionMode;
use galaxy_core::features::FeatureFlag;
use serde::{de::Deserializer, Deserialize, Serialize};
use strum::IntoEnumIterator;
+1 -1
View File
@@ -1,9 +1,9 @@
use enum_iterator::Sequence;
use serde::{Deserialize, Serialize};
use galaxy_core::{
channel::{Channel, ChannelState},
settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud},
};
use serde::{Deserialize, Serialize};
/// The app icon to use (mac-only).
///
+3 -3
View File
@@ -4,14 +4,14 @@ use std::{
sync::Arc,
};
use lazy_static::lazy_static;
use settings::{Setting as _, SyncToCloud};
use std::time::Duration;
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 lazy_static::lazy_static;
use settings::{Setting as _, SyncToCloud};
use std::time::Duration;
use crate::{
auth::auth_state::AuthState,
@@ -1274,8 +1274,10 @@ 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");
galaxyui_extras::user_preferences::toml_backed::TomlBackedUserPreferences::file_content_hash(path)
.expect("hash should be Some for non-empty file")
galaxyui_extras::user_preferences::toml_backed::TomlBackedUserPreferences::file_content_hash(
path,
)
.expect("hash should be Some for non-empty file")
}
fn read_stored_hash(app: &App) -> Option<String> {
+1 -1
View File
@@ -1,12 +1,12 @@
use std::fmt::{Display, Formatter};
use enum_iterator::{all, Sequence};
use galaxyui::ModelContext;
use serde::{Deserialize, Serialize};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting as _, SupportedPlatforms,
SyncToCloud,
};
use galaxyui::ModelContext;
#[derive(
Clone,
+1 -1
View File
@@ -1,10 +1,10 @@
use galaxy_core::ui::builder::MIN_FONT_SIZE;
use galaxyui::{fonts::Weight, rendering::ThinStrokes, AppContext, SingletonEntity};
use galaxyui::elements::DEFAULT_UI_LINE_HEIGHT_RATIO;
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
};
use galaxyui::elements::DEFAULT_UI_LINE_HEIGHT_RATIO;
use super::EnforceMinimumContrast as EnforceMinimumContrastEnum;
+1 -1
View File
@@ -1,5 +1,5 @@
use settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud};
use galaxyui::platform::GraphicsBackend;
use settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud};
define_settings_group!(GPUSettings, settings: [
prefer_low_power_gpu: PreferLowPowerGPU {
+2 -2
View File
@@ -1,13 +1,13 @@
use crate::settings::import::config::ThemeError;
use async_recursion::async_recursion;
use async_trait::async_trait;
use serde::Deserialize;
use std::{env, io::ErrorKind, path::PathBuf};
use galaxy_core::ui::{
color::hex_color::coloru_from_hex_string,
theme::{AnsiColor, AnsiColors, TerminalColors, WarpTheme},
};
use galaxyui::fonts::FontInfo;
use serde::Deserialize;
use std::{env, io::ErrorKind, path::PathBuf};
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 galaxy_core::ui::{color::hex_color::coloru_from_hex_string, theme::AnsiColor};
use virtual_fs::{Stub, VirtualFS};
use crate::settings::import::config::{ParseableConfig, ThemeType};
+4 -4
View File
@@ -1,16 +1,16 @@
use std::{path::PathBuf, sync::Arc};
use pathfinder_color::ColorU;
use serde::Serialize;
use strum_macros::EnumIter;
use galaxy_core::ui::{
color::hex_color::HexColorError as UiHexColorError,
theme::{AnsiColors, WarpTheme},
};
use pathfinder_color::ColorU;
use serde::Serialize;
use strum_macros::EnumIter;
use async_trait::async_trait;
use thiserror::Error;
use galaxyui::{fonts::FontInfo, keymap::Keystroke, DisplayIdx};
use thiserror::Error;
use crate::{
interval_timer::IntervalTimer,
+4 -4
View File
@@ -2,14 +2,14 @@ use std::path::PathBuf;
use async_trait::async_trait;
use bitflags::bitflags;
use itertools::Itertools;
use palette::Srgba;
use pathfinder_color::ColorU;
use plist::{Dictionary, Value};
use galaxy_core::ui::theme::{AnsiColors, TerminalColors, WarpTheme};
use galaxyui::{
fonts::FontInfo, keymap::Keystroke, platform::mac::utils::unicode_char_to_key, DisplayIdx,
};
use itertools::Itertools;
use palette::Srgba;
use pathfinder_color::ColorU;
use plist::{Dictionary, Value};
use crate::{
root_view::QuakeModePinPosition,
@@ -1,9 +1,9 @@
use async_io::block_on;
use galaxy_core::ui::theme::{Fill, WarpTheme};
use galaxyui::{fonts::FontInfo, keymap::Keystroke};
use pathfinder_color::ColorU;
use plist::{Dictionary, Value};
use virtual_fs::{Stub, VirtualFS};
use galaxy_core::ui::theme::{Fill, WarpTheme};
use galaxyui::{fonts::FontInfo, keymap::Keystroke};
use crate::settings::import::{
config::{GlobalHotkey, HotkeyError, ImportedFont, ParseableConfig, ThemeType},
+3 -3
View File
@@ -4,13 +4,13 @@ use crate::interval_timer::IntervalTimer;
use crate::settings::import::config::{Config, ConfigError};
use crate::{send_telemetry_from_ctx, TelemetryEvent};
use serde::Serialize;
use strum::IntoEnumIterator;
use strum_macros::{EnumDiscriminants, EnumIter};
use galaxy_core::features::FeatureFlag;
use galaxyui::Entity;
use galaxyui::ModelContext;
use galaxyui::SingletonEntity;
use serde::Serialize;
use strum::IntoEnumIterator;
use strum_macros::{EnumDiscriminants, EnumIter};
#[cfg(target_os = "macos")]
use super::config::HotkeyError;
+1 -1
View File
@@ -1,5 +1,5 @@
use itertools::Itertools;
use galaxy_core::{settings::Setting, ui::appearance::Appearance};
use itertools::Itertools;
use galaxyui::{
elements::{
+1 -1
View File
@@ -1,7 +1,7 @@
use settings::{Setting as _, SettingsManager};
use galaxy_core::features::FeatureFlag;
use galaxyui::{rendering::GPUPowerPreference, AppContext, SingletonEntity};
use galaxyui_extras::user_preferences;
use settings::{Setting as _, SettingsManager};
use crate::{
ai::cloud_agent_settings::CloudAgentSettings,
+6 -6
View File
@@ -1,14 +1,14 @@
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 instant::Duration;
use settings::{
is_settings_file_enabled, set_settings_file_enabled, PrivatePreferences, PublicPreferences,
Setting, SettingsManager,
};
use settings_value::SettingsValue;
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};
@@ -379,9 +379,9 @@ fn test_migration_with_multiple_setting_types() {
// serde fallback is never reached and values are lost.
mod notifications_migration {
use settings::{PrivatePreferences, PublicPreferences, SettingsManager};
use galaxy_core::settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud};
use galaxyui_extras::user_preferences;
use settings::{PrivatePreferences, PublicPreferences, SettingsManager};
use crate::terminal::session_settings::NotificationsSettings;
+1 -1
View File
@@ -1,8 +1,8 @@
use galaxyui::{AppContext, SingletonEntity};
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 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 galaxyui::platform::linux;
use settings::{macros::define_settings_group, SupportedPlatforms, SyncToCloud};
define_settings_group!(LinuxAppConfiguration,
settings: [
+6 -6
View File
@@ -48,6 +48,7 @@ pub use debug::*;
pub use editor::*;
pub use emacs_bindings::*;
pub use font::*;
use galaxy_core::user_preferences::GetUserPreferences as _;
pub use gpu::*;
pub use init::*;
pub use input::*;
@@ -64,7 +65,6 @@ pub use select::*;
pub use ssh::*;
pub use theme::*;
pub use vim_banner::*;
use galaxy_core::user_preferences::GetUserPreferences as _;
/// Describes errors encountered when loading settings from `settings.toml`.
#[derive(Clone, Debug, PartialEq, Eq)]
@@ -121,17 +121,17 @@ use crate::{
themes::theme::{ThemeKind, WarpTheme},
user_config::WarpConfig,
};
use galaxy_core::features::FeatureFlag;
use galaxyui::{
elements::DEFAULT_UI_LINE_HEIGHT_RATIO, keymap::Keystroke, AppContext, DisplayIdx,
SingletonEntity,
};
use lazy_static::lazy_static;
use pathfinder_geometry::{rect::RectF, vector::Vector2F};
use serde::{Deserialize, Serialize};
use serde_json::{json, Value};
use settings::Setting as _;
use std::{collections::HashMap, ops::Mul, path::PathBuf};
use galaxy_core::features::FeatureFlag;
use galaxyui::{
elements::DEFAULT_UI_LINE_HEIGHT_RATIO, keymap::Keystroke, AppContext, DisplayIdx,
SingletonEntity,
};
// The following are user preferences keys.
pub const CHANGELOG_VERSIONS: &str = "ChangelogVersions";
+2 -2
View File
@@ -6,11 +6,11 @@ use crate::settings::ai::DefaultSessionMode;
use crate::settings::{AISettings, CodeSettings};
use crate::workspace::tab_settings::TabSettings;
use crate::workspaces::user_workspaces::UserWorkspaces;
use galaxy_core::features::FeatureFlag;
use galaxyui::{AppContext, SingletonEntity as _};
use onboarding::slides::{AgentAutonomy, AgentDevelopmentSettings};
use onboarding::{SelectedSettings, SessionDefault, UICustomizationSettings};
use settings::Setting 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
@@ -1,8 +1,8 @@
use ai::LLMId;
use chrono::{DateTime, Utc};
use galaxyui::{App, SingletonEntity};
use onboarding::slides::{AgentAutonomy, AgentDevelopmentSettings, ProjectOnboardingSettings};
use onboarding::SelectedSettings;
use galaxyui::{App, SingletonEntity};
use crate::ai::execution_profiles::profiles::AIExecutionProfilesModel;
use crate::ai::execution_profiles::{
+1 -1
View File
@@ -2,11 +2,11 @@ use std::fmt::Display;
use std::sync::Arc;
use anyhow::Result;
use regex::Regex;
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 regex::Regex;
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 galaxy_core::define_settings_group;
use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud};
use serde::{Deserialize, Serialize};
+1 -1
View File
@@ -1,6 +1,6 @@
use crate::banner::BannerState;
use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud};
use galaxy_core::define_settings_group;
use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud};
// 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.