More cleanup on bedrock calls, adding dump file for errors

This commit is contained in:
Ryan Ward
2026-05-13 16:21:40 -05:00
parent b61d6bcbce
commit 57222e208e
27 changed files with 469 additions and 336 deletions
@@ -25,8 +25,8 @@ use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use thousands::Separable;
use crate::TelemetryEvent;
use crate::send_telemetry_from_ctx;
use crate::TelemetryEvent;
const MODAL_WIDTH: f32 = 360.;
const MODAL_HEIGHT: f32 = 532.;
@@ -1,12 +1,12 @@
use crate::ai::active_agent_views_model::ActiveAgentViewsModel;
use crate::ai::active_agent_views_model::ConversationOrTaskId;
use crate::ai::agent_conversations_model::ConversationOrTask;
use crate::ai::conversation_status_ui::{STATUS_ELEMENT_PADDING, render_status_element};
use crate::ai::conversation_status_ui::{render_status_element, STATUS_ELEMENT_PADDING};
use crate::appearance::Appearance;
use crate::drive::sharing::dialog::SharingDialog;
use crate::menu::Menu;
use crate::ui_components::icons::Icon;
use crate::ui_components::menu_button::{MenuDirection, icon_button_with_context_menu};
use crate::ui_components::menu_button::{icon_button_with_context_menu, MenuDirection};
use crate::util::time_format::format_approx_duration_from_now_utc;
use crate::util::truncation::truncate_from_end;
use crate::workspace::view::conversation_list::view::ConversationListViewAction;
@@ -10,25 +10,25 @@ use crate::ai::agent_conversations_model::{AgentConversationsModel, Conversation
use crate::ai::agent_management::telemetry::{AgentManagementTelemetryEvent, OpenedFrom};
use crate::ai::blocklist::history_model::BlocklistAIHistoryModel;
use crate::appearance::Appearance;
use crate::drive::sharing::ShareableObject;
use crate::drive::sharing::dialog::SharingDialog;
use crate::drive::sharing::ShareableObject;
use crate::editor::{
EditorView, Event as EditorEvent, PropagateAndNoOpNavigationKeys,
PropagateHorizontalNavigationKeys, SingleLineEditorOptions, TextOptions,
};
use crate::menu::{Event as MenuEvent, Menu, MenuItem, MenuItemFields};
use crate::server::telemetry::SharingDialogSource;
use crate::view_components::DismissibleToast;
use crate::view_components::action_button::{ActionButton, ButtonSize, SecondaryTheme};
use crate::workspace::ToastStack;
use crate::workspace::WorkspaceAction;
use crate::view_components::DismissibleToast;
use crate::workspace::global_actions::ForkedConversationDestination;
use crate::workspace::header_toolbar_item::HeaderToolbarItemKind;
use crate::workspace::tab_settings::TabSettings;
use crate::workspace::view::conversation_list::item::{
ItemProps, ItemState, OverflowMenuDisplay, STATIC_ITEM_MIN_HEIGHT, StaticItemProps,
render_item, render_static_item,
render_item, render_static_item, ItemProps, ItemState, OverflowMenuDisplay, StaticItemProps,
STATIC_ITEM_MIN_HEIGHT,
};
use crate::workspace::ToastStack;
use crate::workspace::WorkspaceAction;
use galaxy_core::features::FeatureFlag;
use galaxy_core::send_telemetry_from_ctx;
use galaxy_core::ui::Icon;
@@ -43,8 +43,8 @@ use galaxyui::elements::{
ScrollbarWidth, Shrinkable, Stack, Text, UniformList, UniformListState,
};
use galaxyui::fonts::{Properties, Weight};
use galaxyui::keymap::FixedBinding;
use galaxyui::keymap::macros::*;
use galaxyui::keymap::FixedBinding;
use galaxyui::platform::Cursor;
use galaxyui::text_layout::TextAlignment;
use galaxyui::{
@@ -1,10 +1,10 @@
use crate::TelemetryEvent;
use crate::ai::{AIRequestUsageModel, AIRequestUsageModelEvent};
use crate::auth::AuthStateProvider;
use crate::pricing::{PricingInfoModel, PricingInfoModelEvent};
use crate::ui_components::blended_colors;
use crate::ui_components::icons::Icon;
use crate::workspaces::user_workspaces::UserWorkspaces;
use crate::TelemetryEvent;
use asset_macro::bundled_or_fetched_asset;
use galaxy_core::send_telemetry_from_ctx;
use galaxy_core::ui::appearance::Appearance;
@@ -1,5 +1,5 @@
use crate::workspace::view::global_search::SearchConfig;
use crate::workspace::view::global_search::view::GlobalSearchEvent;
use crate::workspace::view::global_search::SearchConfig;
use anyhow::Result;
use futures::StreamExt as _;
use galaxy_ripgrep::search::{Match as RipgrepMatch, Submatch};
@@ -1,7 +1,7 @@
use std::path::PathBuf;
use crate::workspace::view::global_search::SearchConfig;
use crate::workspace::view::global_search::view::GlobalSearchEvent;
use crate::workspace::view::global_search::SearchConfig;
use galaxyui::{Entity, ModelContext};
pub struct GlobalSearch {}
+4 -4
View File
@@ -13,7 +13,6 @@ use galaxy_ripgrep::search::{Match as RipgrepMatch, Submatch};
use pathfinder_geometry::vector::vec2f;
use string_offset::{ByteOffset, CharCounter};
use crate::TelemetryEvent;
use crate::code::icon_from_file_path;
use crate::debounce::debounce;
use crate::editor::{
@@ -24,15 +23,16 @@ use crate::search::ItemHighlightState as SearchHighlightState;
use crate::ui_components::blended_colors;
use crate::ui_components::icons::Icon as UiIcon;
use crate::ui_components::item_highlight::{ImageOrIcon, ItemHighlightState};
use crate::ui_components::render_file_search_row::{FileSearchRowOptions, render_file_search_row};
use crate::ui_components::render_file_search_row::{render_file_search_row, FileSearchRowOptions};
use crate::view_components::action_button::{ActionButton, ButtonSize, NakedTheme};
use crate::workspace::view::global_search::SearchConfig;
use crate::workspace::view::global_search::model::GlobalSearch;
use crate::workspace::view::global_search::SearchConfig;
use crate::TelemetryEvent;
use galaxy_core::send_telemetry_from_ctx;
use galaxy_core::ui::Icon;
use galaxy_core::ui::appearance::Appearance;
use galaxy_core::ui::theme::color::internal_colors;
use galaxy_core::ui::theme::{AnsiColorIdentifier, Fill as ThemeFill};
use galaxy_core::ui::Icon;
use galaxyui::elements::{
Border, ChildAnchor, ChildView, Clipped, ConstrainedBox, Container, CornerRadius,
CrossAxisAlignment, DispatchEventResult, Empty, EventHandler, Fill, Flex, FormattedTextElement,
+1 -1
View File
@@ -28,7 +28,7 @@ use galaxyui::ui_components::components::UiComponent;
use galaxyui::{
AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext, ViewHandle,
};
use markdown_parser::{FormattedText, FormattedTextLine, parse_markdown};
use markdown_parser::{parse_markdown, FormattedText, FormattedTextLine};
use pathfinder_color::ColorU;
use std::collections::HashMap;
+8 -8
View File
@@ -5,15 +5,15 @@ use galaxy_core::ui::theme::color::internal_colors;
use galaxy_core::{send_telemetry_from_ctx, ui::Icon};
use galaxy_util::path::LineAndColumnArg;
use galaxyui::{
AppContext, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View,
ViewContext, ViewHandle, WeakViewHandle,
elements::{
ChildView, ConstrainedBox, Container, CrossAxisAlignment, DragBarSide, Element, Empty,
Flex, MainAxisAlignment, MainAxisSize, MouseStateHandle, ParentElement, Resizable,
ResizableStateHandle, Shrinkable, resizable_state_handle,
resizable_state_handle, ChildView, ConstrainedBox, Container, CrossAxisAlignment,
DragBarSide, Element, Empty, Flex, MainAxisAlignment, MainAxisSize, MouseStateHandle,
ParentElement, Resizable, ResizableStateHandle, Shrinkable,
},
platform::Cursor,
ui_components::components::{Coords, UiComponent, UiComponentStyles},
AppContext, Entity, FocusContext, ModelHandle, SingletonEntity, TypedActionView, View,
ViewContext, ViewHandle, WeakViewHandle,
};
use crate::ai::agent::conversation::AIConversationId;
@@ -30,9 +30,9 @@ use crate::server::telemetry::{FileTreeSource, WarpDriveSource};
use crate::settings_view::keybindings::{KeybindingChangedEvent, KeybindingChangedNotifier};
#[cfg(feature = "local_fs")]
use crate::util::file::external_editor::EditorSettings;
use crate::util::openable_file_type::FileTarget;
#[cfg(feature = "local_fs")]
use crate::util::openable_file_type::resolve_file_target_with_editor_choice;
use crate::util::openable_file_type::FileTarget;
use crate::workspace::view::conversation_list::view::{
ConversationListView, Event as ConversationListViewEvent,
};
@@ -46,11 +46,10 @@ use crate::workspace::view::{
TOGGLE_PROJECT_EXPLORER_BINDING_NAME, TOGGLE_WARP_DRIVE_BINDING_NAME,
};
use crate::{
TelemetryEvent,
appearance::Appearance,
code::file_tree::FileTreeView,
drive::panel::{MAX_SIDEBAR_WIDTH_RATIO, MIN_SIDEBAR_WIDTH},
pane_group::pane::view::header::{PANE_HEADER_HEIGHT, components::HEADER_EDGE_PADDING},
pane_group::pane::view::header::{components::HEADER_EDGE_PADDING, PANE_HEADER_HEIGHT},
pane_group::{self},
terminal::resizable_data::{ModalType, ResizableData},
ui_components::{
@@ -59,6 +58,7 @@ use crate::{
},
util::bindings::keybinding_name_to_display_string,
workspace::WorkspaceAction,
TelemetryEvent,
};
#[derive(Default)]
+1 -1
View File
@@ -1,4 +1,3 @@
use crate::FeatureFlag;
use crate::pane_group::{NewTerminalOptions, PanesLayout};
use crate::settings::AISettings;
use crate::terminal;
@@ -6,6 +5,7 @@ use crate::terminal::view::{
AgentOnboardingVersion, OnboardingIntention, OnboardingVersion, TerminalAction,
};
use crate::workspace::Workspace;
use crate::FeatureFlag;
use galaxyui::{SingletonEntity as _, ViewContext};
use onboarding::{ProjectOnboardingSettings, SelectedSettings};
use std::collections::HashMap;
@@ -1,3 +1,3 @@
mod view;
pub use view::{OpenWarpLaunchModal, OpenWarpLaunchModalEvent, init};
pub use view::{init, OpenWarpLaunchModal, OpenWarpLaunchModalEvent};
@@ -1,4 +1,4 @@
use galaxy_core::ui::theme::{Fill, phenomenon::PhenomenonStyle};
use galaxy_core::ui::theme::{phenomenon::PhenomenonStyle, Fill};
use galaxyui::assets::asset_cache::AssetSource;
use galaxyui::elements::{
Align, CacheOption, ChildAnchor, ChildView, ConstrainedBox, Container, CornerRadius,
+10 -10
View File
@@ -3,27 +3,27 @@ use crate::code_review::code_review_header::HEADER_BUTTON_PADDING;
#[cfg(feature = "local_fs")]
use crate::code_review::code_review_view::CodeReviewAction;
use crate::code_review::code_review_view::{
CONTENT_LEFT_MARGIN, CONTENT_RIGHT_MARGIN, CodeReviewView, render_file_navigation_button,
render_file_navigation_button, CodeReviewView, CONTENT_LEFT_MARGIN, CONTENT_RIGHT_MARGIN,
};
use crate::code_review::code_review_view::{CodeReviewCommentDebugState, CodeReviewViewEvent};
use crate::code_review::telemetry_event::CodeReviewContextDestination;
use crate::pane_group::pane::view::header::{components::HEADER_EDGE_PADDING, PANE_HEADER_HEIGHT};
use crate::pane_group::WorkingDirectoriesEvent;
use crate::pane_group::pane::view::header::{PANE_HEADER_HEIGHT, components::HEADER_EDGE_PADDING};
use crate::pane_group::{Event as PaneGroupEvent, PaneGroup, WorkingDirectoriesModel};
use crate::settings::{AISettings, AISettingsChangedEvent};
use crate::terminal::CLIAgent;
use crate::terminal::cli_agent_sessions::CLIAgentSessionsModel;
use crate::terminal::input::MenuPositioning;
use crate::terminal::CLIAgent;
use crate::ui_components::{buttons::icon_button_with_color, icons};
use crate::util::bindings::{CustomAction, keybinding_name_to_display_string};
use crate::util::bindings::{keybinding_name_to_display_string, CustomAction};
#[cfg(feature = "local_fs")]
use crate::util::openable_file_type::FileTarget;
use crate::view_components::action_button::{ActionButton, PaneHeaderTheme};
#[cfg(feature = "local_fs")]
use crate::view_components::action_button::{NakedTheme, TooltipAlignment};
use crate::view_components::{Dropdown, DropdownItem};
use crate::workspace::WorkspaceAction;
use crate::workspace::view::TOGGLE_RIGHT_PANEL_BINDING_NAME;
use crate::workspace::WorkspaceAction;
use crate::{
appearance::Appearance,
drive::panel::{MAX_SIDEBAR_WIDTH_RATIO, MIN_SIDEBAR_WIDTH},
@@ -34,16 +34,16 @@ use dunce::canonicalize;
use galaxy_core::features::FeatureFlag;
use galaxy_core::ui::Icon;
use galaxy_util::path::LineAndColumnArg;
use galaxyui::EntityId;
use galaxyui::elements::{ChildAnchor, Empty, PositionedElementAnchor};
use galaxyui::keymap::EditableBinding;
use galaxyui::EntityId;
use galaxyui::{
elements::{
resizable_state_handle, Container, DragBarSide, Element, MainAxisSize, MouseStateHandle,
Resizable, ResizableStateHandle,
},
AppContext, Entity, ModelHandle, SingletonEntity, TypedActionView, View, ViewContext,
ViewHandle, WeakViewHandle,
elements::{
Container, DragBarSide, Element, MainAxisSize, MouseStateHandle, Resizable,
ResizableStateHandle, resizable_state_handle,
},
};
use galaxyui::{
elements::{
+1 -1
View File
@@ -1,11 +1,11 @@
//! Logic to determine the working directory for new terminal sessions.
use super::Workspace;
use crate::terminal::ShellLaunchData;
use crate::terminal::available_shells::AvailableShell;
#[cfg(feature = "local_tty")]
use crate::terminal::available_shells::AvailableShells;
use crate::terminal::session_settings::{NewSessionSource, SessionSettings};
use crate::terminal::ShellLaunchData;
use galaxyui::SingletonEntity;
use galaxyui::{AppContext, ViewContext, WindowId};
use std::path::PathBuf;
+17 -17
View File
@@ -1,22 +1,22 @@
pub mod telemetry;
use crate::FeatureFlag;
use crate::ai::agent::conversation::ConversationStatus;
use crate::ai::agent_management::AgentNotificationsModel;
use crate::code::editor::{add_color, remove_color};
use crate::code::icon_from_file_path;
use crate::safe_triangle::SafeTriangle;
use crate::send_telemetry_from_app_ctx;
use crate::terminal::CLIAgent;
use crate::terminal::cli_agent_sessions::CLIAgentSessionsModel;
use crate::terminal::cli_agent_sessions::listener::agent_supports_rich_status;
use crate::terminal::cli_agent_sessions::CLIAgentSessionsModel;
use crate::terminal::view::TerminalViewState;
use crate::terminal::CLIAgent;
use crate::ui_components::icon_with_status::{
IconWithStatusSizing, IconWithStatusVariant, render_icon_with_status,
render_icon_with_status, IconWithStatusSizing, IconWithStatusVariant,
};
use crate::workspace::view::vertical_tabs::telemetry::{
VerticalTabsChipEntrypoint, VerticalTabsTelemetryEvent,
};
use crate::FeatureFlag;
use std::cell::RefCell;
use std::collections::HashMap;
use std::sync::{Arc, Mutex};
@@ -24,16 +24,16 @@ use std::sync::{Arc, Mutex};
use crate::appearance::Appearance;
use crate::context_chips::display_chip::GitLineChanges;
use crate::context_chips::github_pr_display_text_from_url;
use crate::drive::{DriveObjectType, cloud_object_styling::warp_drive_icon_color};
use crate::drive::{cloud_object_styling::warp_drive_icon_color, DriveObjectType};
use crate::editor::EditorView;
use crate::pane_group::TerminalPane;
use crate::pane_group::pane::IPaneType;
use crate::pane_group::TerminalPane;
use crate::pane_group::{
CodePane, NotebookPane, PaneGroup, PaneId, TabBarHoverIndex, WorkflowPane,
};
use crate::tab::{SelectedTabColor, TabData, tab_position_id};
use crate::terminal::TerminalView;
use crate::tab::{tab_position_id, SelectedTabColor, TabData};
use crate::terminal::session_settings::SessionSettings;
use crate::terminal::TerminalView;
use crate::themes::theme::Fill as ThemeFill;
use crate::ui_components::buttons::combo_inner_button;
use crate::ui_components::icons::Icon as UiIcon;
@@ -53,20 +53,20 @@ use languages::language_by_filename;
use galaxy_core::context_flag::ContextFlag;
use galaxy_core::telemetry::TelemetryEvent as _;
use galaxy_core::ui::Icon as WarpIcon;
use galaxy_core::ui::color::blend::Blend;
use galaxy_core::ui::color::coloru_with_opacity;
use galaxy_core::ui::theme::color::internal_colors;
use galaxy_core::ui::theme::{AnsiColorIdentifier, Fill as WarpThemeFill, WarpTheme};
use galaxy_core::ui::Icon as WarpIcon;
use galaxyui::elements::DispatchEventResult;
use galaxyui::elements::{
Border, ChildAnchor, Clipped, ClippedScrollStateHandle, ClippedScrollable, ConstrainedBox,
Container, CornerRadius, CrossAxisAlignment, DragAxis, DragBarSide, Draggable, DropShadow,
DropTarget, Element, Empty, EventHandler, Expanded, Fill as ElementFill, Flex, Hoverable,
MainAxisSize, MouseStateHandle, OffsetPositioning, Padding, ParentAnchor, ParentElement,
ParentOffsetBounds, PositionedElementAnchor, PositionedElementOffsetBounds, Radius, Resizable,
ResizableStateHandle, SavePosition, ScrollTarget, ScrollToPositionMode, ScrollbarWidth,
Shrinkable, Stack, Text, resizable_state_handle,
resizable_state_handle, Border, ChildAnchor, Clipped, ClippedScrollStateHandle,
ClippedScrollable, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment, DragAxis,
DragBarSide, Draggable, DropShadow, DropTarget, Element, Empty, EventHandler, Expanded,
Fill as ElementFill, Flex, Hoverable, MainAxisSize, MouseStateHandle, OffsetPositioning,
Padding, ParentAnchor, ParentElement, ParentOffsetBounds, PositionedElementAnchor,
PositionedElementOffsetBounds, Radius, Resizable, ResizableStateHandle, SavePosition,
ScrollTarget, ScrollToPositionMode, ScrollbarWidth, Shrinkable, Stack, Text,
};
use galaxyui::fonts::{Properties, Weight};
use galaxyui::platform::Cursor;
@@ -77,7 +77,7 @@ use galaxyui::ui_components::text_input::TextInput;
use galaxyui::{AppContext, EntityId, SingletonEntity, ViewHandle, WindowId};
use pathfinder_color::ColorU;
use pathfinder_geometry::rect::RectF;
use pathfinder_geometry::vector::{Vector2F, vec2f};
use pathfinder_geometry::vector::{vec2f, Vector2F};
use settings::Setting as _;
use std::path::{Path, PathBuf};
@@ -1,6 +1,6 @@
use galaxy_core::features::FeatureFlag;
use galaxy_core::telemetry::{EnablementState, TelemetryEvent, TelemetryEventDesc};
use serde_json::{Value, json};
use serde_json::{json, Value};
use strum_macros::{EnumDiscriminants, EnumIter};
use crate::workspace::tab_settings::{
@@ -4,16 +4,13 @@ use crate::pane_group::{PaneId, TerminalPaneId};
use crate::safe_triangle::SafeTriangle;
use crate::terminal::CLIAgent;
use crate::workspace::tab_settings::VerticalTabsDisplayGranularity;
use galaxyui::EntityId;
use galaxyui::elements::PositionedElementOffsetBounds;
use galaxyui::EntityId;
use pathfinder_geometry::rect::RectF;
use pathfinder_geometry::vector::Vector2F;
use std::path::PathBuf;
use super::{
AgentTabTextPreference, SummaryPaneKind, SummaryPaneKindIcons, TerminalAgentText,
TerminalPrimaryLineData, TerminalPrimaryLineFont, VerticalTabsDetailTarget,
VerticalTabsDetailTargetKind, VerticalTabsSummaryBranchEntry, VerticalTabsSummaryData,
branch_label_display, coalesce_summary_branch_entries, code_detail_kind_label,
compact_branch_subtitle_display, detail_sidecar_width_and_bounds,
detail_target_for_hovered_row, format_summary_primary_labels,
@@ -23,7 +20,9 @@ use super::{
summary_overflow_count, summary_search_text_fragments, terminal_kind_badge_label,
terminal_primary_line_data, terminal_pull_request_badge_label, terminal_search_text_fragments,
terminal_title_fallback_font, uses_outer_group_container, visible_pane_ids_for_detail_target,
vtab_diff_stats_text,
vtab_diff_stats_text, AgentTabTextPreference, SummaryPaneKind, SummaryPaneKindIcons,
TerminalAgentText, TerminalPrimaryLineData, TerminalPrimaryLineFont, VerticalTabsDetailTarget,
VerticalTabsDetailTargetKind, VerticalTabsSummaryBranchEntry, VerticalTabsSummaryData,
};
fn pane_id() -> PaneId {
+1 -1
View File
@@ -9,7 +9,6 @@ use crate::uri::browser_url_handler::parse_current_url;
use super::PanelPosition;
use crate::BlocklistAIHistoryModel;
use crate::ai::agent_conversations_model::AgentConversationsModel;
use crate::ai::conversation_details_panel::{
ConversationDetailsData, ConversationDetailsPanel, ConversationDetailsPanelEvent,
@@ -22,6 +21,7 @@ use crate::view_components::action_button::{
use crate::wasm_nux_dialog::{WasmNUXDialog, WasmNUXDialogEvent};
use crate::workspace::action::WorkspaceAction;
use crate::workspace::view::{NotebookSource, OpenWarpDriveObjectSettings, Workspace};
use crate::BlocklistAIHistoryModel;
const TRANSCRIPT_PANEL_WIDTH: f32 = 280.0;