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
+2 -3
View File
@@ -1,12 +1,11 @@
use std::collections::HashMap;
use itertools::Itertools;
use session_sharing_protocol::common::SessionId;
use galaxyui::{
AppContext, Entity, EntityId, ModelContext, SingletonEntity, ViewHandle, WeakViewHandle,
WindowId,
};
use itertools::Itertools;
use session_sharing_protocol::common::SessionId;
use super::SharedSessionActionSource;
use crate::terminal::TerminalView;
+2 -3
View File
@@ -1,11 +1,10 @@
use byte_unit::Byte;
use galaxyui::{id, keymap::ContextPredicate, AppContext};
use galaxyui::keymap::ContextPredicate;
use galaxyui::{id, AppContext};
use instant::Duration;
use serde::{Deserialize, Serialize};
use session_sharing_protocol::common::{Role, Scrollback, ScrollbackBlock, SessionId};
use session_sharing_protocol::sharer::SessionSourceType;
use galaxyui::keymap::ContextPredicate;
use galaxyui::{id, AppContext};
use super::model::block::SerializedBlock;
use super::model::terminal_model::BlockIndex;
@@ -1,8 +1,3 @@
use instant::Duration;
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use session_sharing_protocol::common::{ParticipantId, ParticipantInfo, Role};
use session_sharing_protocol::sharer::RoleUpdateReason;
use galaxyui::accessibility::AccessibilityContent;
use galaxyui::elements::{
Border, ChildAnchor, ChildView, ConstrainedBox, Container, CornerRadius, CrossAxisAlignment,
@@ -16,6 +11,11 @@ use galaxyui::{
AppContext, Element, Entity, FocusContext, SingletonEntity, TypedActionView, View, ViewContext,
ViewHandle,
};
use instant::Duration;
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use session_sharing_protocol::common::{ParticipantId, ParticipantInfo, Role};
use session_sharing_protocol::sharer::RoleUpdateReason;
use super::render_util::non_hoverable_participant_avatar;
use crate::appearance::Appearance;
@@ -643,11 +643,8 @@ impl PresenceManager {
/// Refreshes the block ID to participants selected cache to be consistent with the current participant data stored.
fn refresh_block_id_to_participants_selected(&mut self) {
self.block_id_to_participants_selected.clear();
let participants = if self.sharer.is_some() {
Either::Left(
iter::once(self.sharer.as_ref().expect("sharer should exist"))
.chain(self.present_viewers.values()),
)
let participants = if let Some(sharer) = &self.sharer {
Either::Left(iter::once(sharer).chain(self.present_viewers.values()))
} else {
Either::Right(self.present_viewers.values())
};
@@ -1,5 +1,3 @@
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use galaxyui::elements::{
ChildAnchor, CornerRadius, Fill, Hoverable, MouseStateHandle, OffsetPositioning, ParentAnchor,
ParentElement, ParentOffsetBounds, Radius, Stack,
@@ -7,6 +5,8 @@ use galaxyui::elements::{
use galaxyui::fonts::Weight;
use galaxyui::ui_components::components::{UiComponent, UiComponentStyles};
use galaxyui::{AppContext, Element, SingletonEntity};
use pathfinder_color::ColorU;
use pathfinder_geometry::vector::vec2f;
use super::presence_manager::{Participant, MUTED_AVATAR_BORDER_COLOR, MUTED_PARTICIPANT_COLOR};
use crate::appearance::Appearance;
@@ -1,8 +1,8 @@
use session_sharing_protocol::common::{ParticipantId, Role, RoleRequestId};
use galaxyui::elements::Empty;
use galaxyui::presenter::ChildView;
use galaxyui::ui_components::components::{Coords, UiComponentStyles};
use galaxyui::{AppContext, Element, Entity, View, ViewContext, ViewHandle};
use session_sharing_protocol::common::{ParticipantId, Role, RoleRequestId};
use crate::modal::Modal;
use crate::pane_group::TerminalPaneId;
@@ -1,7 +1,7 @@
use std::collections::HashMap;
use session_sharing_protocol::common::{ParticipantId, Role, RoleRequestId};
use galaxy_core::features::FeatureFlag;
use session_sharing_protocol::common::{ParticipantId, Role, RoleRequestId};
use warpui::elements::{
ConstrainedBox, Container, CrossAxisAlignment, Flex, MainAxisAlignment, MouseStateHandle,
ParentElement, Text,
@@ -1,4 +1,3 @@
use session_sharing_protocol::common::Role;
use galaxyui::elements::{
Container, CrossAxisAlignment, Flex, MainAxisAlignment, MouseStateHandle, ParentElement, Text,
};
@@ -7,6 +6,7 @@ use galaxyui::platform::Cursor;
use galaxyui::ui_components::button::ButtonVariant;
use galaxyui::ui_components::components::{UiComponent, UiComponentStyles};
use galaxyui::{AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext};
use session_sharing_protocol::common::Role;
use super::{BODY_PADDING, HEADER_FONT_SIZE, MODAL_PADDING, TEXT_FONT_SIZE};
use crate::appearance::Appearance;
+3 -1
View File
@@ -1,7 +1,9 @@
use std::time::Duration;
use settings::macros::define_settings_group;
use settings::{RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud};
use settings::{
ChangeEventReason, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(SharedSessionSettings, settings: [
onboarding_block_shown: SessionSharingOnboardingBlockShown {
@@ -2,7 +2,6 @@ use std::default::Default;
use std::sync::Arc;
use byte_unit::Byte;
use parking_lot::FairMutex;
use galaxy_core::features::FeatureFlag;
use galaxyui::elements::{
Container, Flex, MainAxisSize, MouseStateHandle, ParentElement, Shrinkable, Text,
@@ -13,6 +12,7 @@ use galaxyui::ui_components::components::UiComponent;
use galaxyui::ui_components::radio_buttons::{
RadioButtonItem, RadioButtonLayout, RadioButtonStateHandle,
};
use parking_lot::FairMutex;
use warpui::{AppContext, Element, Entity, SingletonEntity, TypedActionView, View, ViewContext};
use super::style::{self, BUTTON_GAP, MODAL_MARGIN};
@@ -1,8 +1,7 @@
use std::sync::Arc;
use parking_lot::FairMutex;
use galaxyui::App;
use parking_lot::FairMutex;
use super::Body;
use crate::terminal::shared_session::{
@@ -3,15 +3,14 @@ use std::sync::Arc;
use galaxy_core::ui::appearance::Appearance;
use galaxyui::keymap::FixedBinding;
use galaxyui::EntityId;
use parking_lot::FairMutex;
use style::{DENIED_MODAL_WIDTH, MODAL_HEIGHT, MODAL_WIDTH};
use galaxyui::presenter::ChildView;
use galaxyui::ui_components::components::UiComponentStyles;
use galaxyui::{
AppContext, Element, Entity, EntityId, SingletonEntity, TypedActionView, View, ViewContext,
ViewHandle,
};
use parking_lot::FairMutex;
use style::{DENIED_MODAL_WIDTH, MODAL_HEIGHT, MODAL_WIDTH};
use crate::modal::{Modal, ModalEvent};
use crate::pane_group::TerminalPaneId;
@@ -16,6 +16,9 @@ use byte_unit::{Byte, UnitType};
use futures_util::stream::AbortHandle;
use futures_util::{SinkExt, StreamExt};
use galaxy_core::features::FeatureFlag;
use galaxy_server_client::iap::IapManager;
use galaxyui::r#async::Timer;
use galaxyui::{Entity, ModelContext, RequestState, RetryOption, SingletonEntity};
use instant::Instant;
use parking_lot::FairMutex;
use session_sharing_protocol::common::{
@@ -39,9 +42,6 @@ use session_sharing_protocol::sharer::{
SessionTerminatedReason, TeamAccessLevelUpdateResponse, UpdatePendingUserRoleResponse,
UpstreamMessage,
};
use galaxy_server_client::iap::IapManager;
use galaxyui::r#async::Timer;
use galaxyui::{Entity, ModelContext, RequestState, RetryOption, SingletonEntity};
use websocket::{Message, Sink, Stream, WebSocket, WebsocketMessage as _};
use crate::auth::{AuthStateProvider, UserUid};
@@ -2,6 +2,8 @@ use std::sync::Arc;
use async_channel::Sender;
use futures_util::stream::AbortHandle;
use galaxy_server_client::iap::IapManager;
use galaxyui::{App, ModelHandle};
use instant::Instant;
use parking_lot::FairMutex;
use session_sharing_protocol::common::{
@@ -11,8 +13,6 @@ use session_sharing_protocol::common::{
use session_sharing_protocol::sharer::{
DownstreamMessage, FailedToInitializeSessionReason, QuotaType, ReconnectToken, UpstreamMessage,
};
use galaxy_server_client::iap::IapManager;
use galaxyui::{App, ModelHandle};
use websocket::{Message, WebsocketMessage as _};
use super::{
@@ -2,11 +2,11 @@ use std::collections::HashMap;
use std::io::{sink, Sink};
use std::sync::Arc;
use galaxyui::{Entity, ModelContext, SingletonEntity, WeakViewHandle};
use parking_lot::FairMutex;
use session_sharing_protocol::common::{
OrderedTerminalEvent, OrderedTerminalEventType, Scrollback, WindowSize,
};
use galaxyui::{Entity, ModelContext, SingletonEntity, WeakViewHandle};
use crate::ai::agent::AIAgentActionId;
use crate::ai::blocklist::block::cli_controller::LongRunningCommandControlState;
@@ -10,6 +10,12 @@ use anyhow::bail;
use async_channel::Receiver;
use futures_util::stream::AbortHandle;
use futures_util::{SinkExt, StreamExt};
use galaxy_core::features::FeatureFlag;
use galaxy_server_client::iap::IapManager;
use galaxyui::r#async::{SpawnedFutureHandle, Timer};
use galaxyui::{
Entity, ModelContext, ModelHandle, RequestState, RetryOption, SingletonEntity, WeakViewHandle,
};
use instant::Instant;
use parking_lot::FairMutex;
use session_sharing_protocol::common::{
@@ -27,12 +33,6 @@ use session_sharing_protocol::viewer::{
DownstreamMessage, InitPayload, RoleUpdatedReason, SessionEndedReason, UpstreamMessage,
ViewerRemovedReason,
};
use galaxy_core::features::FeatureFlag;
use galaxy_server_client::iap::IapManager;
use galaxyui::r#async::{SpawnedFutureHandle, Timer};
use galaxyui::{
Entity, ModelContext, ModelHandle, RequestState, RetryOption, SingletonEntity, WeakViewHandle,
};
use websocket::{Message, Sink, Stream, WebsocketMessage as _};
use crate::auth::auth_state::AuthState;
@@ -3,10 +3,10 @@ use std::time::Duration;
use async_channel::Sender;
use async_io::Timer;
use galaxyui::{App, ModelHandle};
use instant::Instant;
use parking_lot::FairMutex;
use session_sharing_protocol::viewer::UpstreamMessage;
use galaxyui::{App, ModelHandle};
use super::{Network, PtyBytesBatchStatus, Stage};
use crate::terminal::event_listener::ChannelEventListener;
@@ -18,8 +18,8 @@
use std::collections::HashMap;
use std::time::Duration;
use session_sharing_protocol::common::SessionId;
use galaxy_core::features::FeatureFlag;
use session_sharing_protocol::common::SessionId;
use warpui::r#async::{SpawnedFutureHandle, Timer};
use warpui::{Entity, EntityId, ModelContext, SingletonEntity, WeakViewHandle};
@@ -388,14 +388,12 @@ impl OrchestrationViewerModel {
if entry.session_id.is_none() {
entry.session_id = session_id;
}
if was_missing_session_id
&& entry.session_id.is_some()
&& !entry.pane_materialization_requested
{
let conversation_id = entry.conversation_id;
let sid = entry.session_id.expect("session_id checked just above");
entry.pane_materialization_requested = true;
self.request_child_pane_materialization(conversation_id, sid, ctx);
if was_missing_session_id && !entry.pane_materialization_requested {
if let Some(sid) = entry.session_id {
let conversation_id = entry.conversation_id;
entry.pane_materialization_requested = true;
self.request_child_pane_materialization(conversation_id, sid, ctx);
}
}
// Re-arm the session_id timer; no-op once all children are materialized.
self.maybe_schedule_pending_session_id_poll(ctx);
@@ -1769,7 +1769,6 @@ fn viewer_model_does_not_register_when_active_conversation_is_a_child_placeholde
// activated — which would persist the orchestration cursor on the
// wrong row.
App::test((), |mut app| async move {
let _streamer_guard = FeatureFlag::OrchestrationViewerStreamer.override_enabled(true);
@@ -2,6 +2,10 @@ use std::any::Any;
use std::sync::Arc;
use async_broadcast::InactiveReceiver;
use galaxyui::{
AppContext, ModelContext, ModelHandle, SingletonEntity, ViewContext, ViewHandle,
WeakViewHandle, WindowId,
};
use parking_lot::FairMutex;
use pathfinder_geometry::vector::Vector2F;
use session_sharing_protocol::common::{
@@ -13,10 +17,6 @@ use session_sharing_protocol::common::{
use session_sharing_protocol::sharer::SessionSourceType;
use session_sharing_protocol::viewer::SessionEndedReason;
use settings::Setting as _;
use galaxyui::{
AppContext, ModelContext, ModelHandle, SingletonEntity, ViewContext, ViewHandle,
WeakViewHandle, WindowId,
};
use super::event_loop::SharedSessionInitialLoadMode;
use super::network::{