Fix cursor focus and selection in input box, add AWS env var warning box, and remove AWS Bedrock login banner

This commit is contained in:
2026-07-02 14:54:15 -05:00
parent 4770ac06b5
commit 3769646ca6
1194 changed files with 5312 additions and 8032 deletions
+1 -1
View File
@@ -1,8 +1,8 @@
use pathfinder_color::ColorU;
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::color::contrast::MinimumAllowedContrast;
use galaxy_core::ui::color::ContrastingColor;
use galaxy_core::ui::theme::Fill;
use pathfinder_color::ColorU;
use super::DriveObjectType;
use crate::ui_components::blended_colors;
+1 -1
View File
@@ -1,7 +1,7 @@
use galaxyui::{AppContext, SingletonEntity};
use warp_server_auth::auth_state::AuthState;
use warp_server_auth::user::PersonalObjectLimits;
use warp_server_auth::AuthStateProvider;
use galaxyui::{AppContext, SingletonEntity};
use crate::auth::auth_manager::AuthManager;
use crate::cloud_object::model::persistence::CloudModel;
+2 -2
View File
@@ -1,4 +1,3 @@
use pathfinder_geometry::vector::vec2f;
use galaxy_core::ui::theme::Fill;
use galaxyui::elements::{
Align, Border, ChildAnchor, ClippedScrollStateHandle, ClippedScrollable, ConstrainedBox,
@@ -13,6 +12,7 @@ use galaxyui::ui_components::components::{UiComponent, UiComponentStyles};
use galaxyui::{
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
};
use pathfinder_geometry::vector::vec2f;
use super::modal_body::{ImportModalBody, ImportModalBodyAction, ImportModalBodyEvent};
use crate::appearance::Appearance;
@@ -20,7 +20,7 @@ use crate::cloud_object::model::persistence::CloudModel;
use crate::cloud_object::{CloudObject, Owner};
use crate::server::ids::SyncId;
use crate::server::sync_queue::SyncQueue;
use crate::themes::theme::WarpTheme;
use crate::themes::theme::GalaxyTheme;
use crate::workspaces::user_workspaces::UserWorkspaces;
const CLOSE_BUTTON_SIZE: f32 = 24.;
+1 -1
View File
@@ -1,7 +1,6 @@
use std::path::PathBuf;
use futures_util::stream::AbortHandle;
use pathfinder_geometry::vector::vec2f;
use galaxyui::elements::{
Align, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, MainAxisAlignment,
MainAxisSize, MouseStateHandle, ParentElement, Radius,
@@ -13,6 +12,7 @@ use galaxyui::ui_components::components::{Coords, UiComponent, UiComponentStyles
use galaxyui::{
AppContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext,
};
use pathfinder_geometry::vector::vec2f;
use super::modal::BODY_HEIGHT;
use super::nodes::{
+1 -1
View File
@@ -6,11 +6,11 @@ use std::path::{Path, PathBuf};
use anyhow::Result;
use async_recursion::async_recursion;
use futures_lite::StreamExt;
use pathfinder_color::ColorU;
use galaxyui::elements::{
Align, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, Flex, Hoverable,
MouseStateHandle, ParentElement, Radius, Shrinkable,
};
use pathfinder_color::ColorU;
use warpui::platform::Cursor;
use warpui::ui_components::components::{UiComponent, UiComponentStyles};
use warpui::Element;
+21 -23
View File
@@ -3,10 +3,6 @@ use std::collections::HashMap;
use std::sync::Arc;
use futures::Future;
use itertools::Itertools;
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::{vec2f, Vector2F};
use url::Url;
use galaxy_core::context_flag::ContextFlag;
use galaxy_core::settings::Setting;
use galaxy_core::ui::theme::color::internal_colors;
@@ -31,7 +27,10 @@ use galaxyui::{
AppContext, BlurContext, Element, Entity, ModelHandle, SingletonEntity, TypedActionView,
UpdateView, View, ViewContext, ViewHandle, WindowId,
};
use std::{any::Any, collections::HashMap, sync::Arc};
use itertools::Itertools;
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::{vec2f, Vector2F};
use url::Url;
use super::cloud_object_naming_dialog::CloudObjectNamingDialog;
use super::drive_helpers::{
@@ -406,6 +405,7 @@ impl DriveIndexAction {
impl From<&DriveIndexAction> for LoginGatedFeature {
fn from(val: &DriveIndexAction) -> LoginGatedFeature {
use DriveIndexAction::*;
match val {
OpenTeamSettingsPage => "Open Team Settings",
ViewPlans { .. } => "View Plans",
@@ -3306,16 +3306,16 @@ impl DriveIndex {
return;
}
}
CloudObjectTypeAndId::Workflow(_) => {
if !UserWorkspaces::has_capacity_for_shared_workflows(team_uid, ctx, 1) {
// If team has reached the limit for workflows, show the modal
// and return early.
ctx.emit(DriveIndexEvent::OpenSharedObjectsCreationDeniedModal(
DriveObjectType::Workflow,
team_uid,
));
return;
}
CloudObjectTypeAndId::Workflow(_)
if !UserWorkspaces::has_capacity_for_shared_workflows(team_uid, ctx, 1) =>
{
// If team has reached the limit for workflows, show the modal
// and return early.
ctx.emit(DriveIndexEvent::OpenSharedObjectsCreationDeniedModal(
DriveObjectType::Workflow,
team_uid,
));
return;
}
_ => (),
}
@@ -3630,19 +3630,17 @@ impl DriveIndex {
return;
}
}
CloudObjectTypeAndId::Workflow(_) => {
if has_feature_gated_anonymous_user_reached_workflow_limit(ctx) {
return;
}
CloudObjectTypeAndId::Workflow(_)
if has_feature_gated_anonymous_user_reached_workflow_limit(ctx) =>
{
return;
}
CloudObjectTypeAndId::GenericStringObject {
object_type:
GenericStringObjectFormat::Json(JsonObjectType::EnvVarCollection),
id: _,
} => {
if has_feature_gated_anonymous_user_reached_env_var_limit(ctx) {
return;
}
} if has_feature_gated_anonymous_user_reached_env_var_limit(ctx) => {
return;
}
_ => {}
},
+1 -1
View File
@@ -1,9 +1,9 @@
use itertools::Itertools;
use galaxy_core::context_flag::ContextFlag;
use galaxyui::elements::{Clipped, Container, Flex, MouseStateHandle, ParentElement};
use galaxyui::fonts::Weight;
use galaxyui::ui_components::components::{UiComponent, UiComponentStyles};
use galaxyui::{AppContext, Element, SingletonEntity};
use itertools::Itertools;
use super::{WarpDriveItem, WarpDriveItemId};
use crate::appearance::Appearance;
+2 -2
View File
@@ -1,5 +1,3 @@
use pathfinder_geometry::rect::RectF;
use pathfinder_geometry::vector::Vector2F;
use galaxyui::elements::{
AcceptedByDropTarget, Border, ChildAnchor, ConstrainedBox, Container, CornerRadius,
CrossAxisAlignment, Draggable, DraggableState, DropShadow, Empty, Flex, Hoverable,
@@ -13,6 +11,8 @@ use galaxyui::presenter::PositionCache;
use galaxyui::ui_components::components::{UiComponent, UiComponentStyles};
use galaxyui::ui_components::text::Span;
use galaxyui::{AppContext, Element, SingletonEntity, ViewHandle};
use pathfinder_geometry::rect::RectF;
use pathfinder_geometry::vector::Vector2F;
use super::WarpDriveItemId;
use crate::appearance::Appearance;
+5
View File
@@ -17,12 +17,14 @@ use std::cmp::Ordering;
use std::fmt;
pub use cloud_objects::drive::CloudObjectTypeAndId;
use galaxyui::AppContext;
pub use index::DriveIndexVariant;
pub use panel::{DrivePanel, DrivePanelEvent};
use serde::{Deserialize, Serialize};
use crate::cloud_object::model::view::{CloudViewModel, UpdateTimestamp};
use crate::cloud_object::{CloudObject, ObjectType};
use crate::galaxy_core::user_preferences::GetUserPreferences;
use crate::server::ids::ServerId;
use crate::ui_components::icons::Icon;
use crate::workflows::CloudWorkflow;
@@ -44,6 +46,9 @@ pub struct OpenWarpDriveObjectArgs {
pub settings: OpenWarpDriveObjectSettings,
}
pub type OpenGalaxyDriveObjectSettings = OpenWarpDriveObjectSettings;
pub type OpenGalaxyDriveObjectArgs = OpenWarpDriveObjectArgs;
#[derive(Copy, Clone, Debug, PartialEq, Eq)]
pub enum DriveObjectType {
Workflow,
+18 -19
View File
@@ -379,17 +379,18 @@ impl DrivePanel {
return;
}
}
CloudObjectTypeAndId::Workflow(_) => {
if !UserWorkspaces::has_capacity_for_shared_workflows(team_uid, ctx, 1)
{
// If team has reached the limit for workflows, show the modal
// and return early.
ctx.emit(DrivePanelEvent::OpenSharedObjectsCreationDeniedModal(
DriveObjectType::Workflow,
team_uid,
));
return;
}
CloudObjectTypeAndId::Workflow(_)
if !UserWorkspaces::has_capacity_for_shared_workflows(
team_uid, ctx, 1,
) =>
{
// If team has reached the limit for workflows, show the modal
// and return early.
ctx.emit(DrivePanelEvent::OpenSharedObjectsCreationDeniedModal(
DriveObjectType::Workflow,
team_uid,
));
return;
}
_ => (),
}
@@ -400,19 +401,17 @@ impl DrivePanel {
return;
}
}
CloudObjectTypeAndId::Workflow(_) => {
if has_feature_gated_anonymous_user_reached_workflow_limit(ctx) {
return;
}
CloudObjectTypeAndId::Workflow(_)
if has_feature_gated_anonymous_user_reached_workflow_limit(ctx) =>
{
return;
}
CloudObjectTypeAndId::GenericStringObject {
object_type:
GenericStringObjectFormat::Json(JsonObjectType::EnvVarCollection),
id: _,
} => {
if has_feature_gated_anonymous_user_reached_env_var_limit(ctx) {
return;
}
} if has_feature_gated_anonymous_user_reached_env_var_limit(ctx) => {
return;
}
_ => {}
},
+2 -2
View File
@@ -1,6 +1,6 @@
use settings::macros::define_settings_group;
use settings::{RespectUserSyncSetting, SupportedPlatforms, SyncToCloud};
use galaxy_core::features::FeatureFlag;
use settings::macros::define_settings_group;
use settings::{RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud};
use super::DriveSortOrder;
+2 -2
View File
@@ -1,13 +1,13 @@
use std::borrow::Cow;
use email_address::EmailAddress;
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::Fill as ThemeFill;
use inheritance::{InheritanceDetails, InheritanceState};
use itertools::Itertools;
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use session_sharing_protocol::common::{Guest, PendingGuest, SessionId, TeamAclData};
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::Fill as ThemeFill;
use warp_editor::editor::NavigationKey;
use warpui::clipboard::ClipboardContent;
use warpui::elements::{
+1 -1
View File
@@ -1,12 +1,12 @@
use std::borrow::Cow;
use chrono::{DateTime, Local};
use session_sharing_protocol::common::SessionId;
use galaxy_core::channel::ChannelState;
use galaxy_core::ui::appearance::Appearance;
use galaxyui::color::ColorU;
use galaxyui::ui_components::components::{UiComponent, UiComponentStyles};
use galaxyui::{AppContext, SingletonEntity, WeakViewHandle};
use session_sharing_protocol::common::SessionId;
use crate::ai::agent::conversation::AIConversationId;
use crate::ai::blocklist::BlocklistAIHistoryModel;
@@ -1,7 +1,5 @@
use std::rc::Rc;
use strum::IntoEnumIterator;
use strum_macros::{EnumIter, IntoStaticStr};
use galaxy_core::features::FeatureFlag;
use galaxy_core::ui::appearance::Appearance;
use galaxy_editor::editor::NavigationKey;
@@ -17,6 +15,8 @@ use galaxyui::{
AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext,
ViewHandle,
};
use strum::IntoEnumIterator;
use strum_macros::{EnumIter, IntoStaticStr};
use crate::cloud_object::model::persistence::CloudModel;
use crate::cloud_object::Revision;
+3 -3
View File
@@ -2,9 +2,6 @@ use std::cmp::Ordering;
use std::collections::{HashMap, HashSet};
use std::sync::Arc;
use itertools::Itertools;
use pathfinder_geometry::vector::vec2f;
use string_offset::CharOffset;
use galaxy_core::ui::theme::Fill;
use galaxy_editor::editor::NavigationKey;
use galaxyui::clipboard::ClipboardContent;
@@ -23,6 +20,9 @@ use galaxyui::{
AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, UpdateView, View,
ViewContext, ViewHandle,
};
use itertools::Itertools;
use pathfinder_geometry::vector::vec2f;
use string_offset::CharOffset;
use super::arguments::ArgumentsState;
use super::enum_creation_dialog::{EnumCreationDialog, EnumCreationDialogEvent, WorkflowEnumData};
@@ -1,9 +1,6 @@
use std::collections::HashMap;
use std::rc::Rc;
use itertools::Itertools;
use strum::IntoEnumIterator;
use strum_macros::{EnumIter, IntoStaticStr};
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::Fill;
use galaxy_editor::editor::NavigationKey;
@@ -23,7 +20,9 @@ use galaxyui::{
AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext,
ViewHandle,
};
use std::{collections::HashMap, rc::Rc};
use itertools::Itertools;
use strum::IntoEnumIterator;
use strum_macros::{EnumIter, IntoStaticStr};
use super::enum_creation_dialog::WorkflowEnumData;
use crate::editor::{