Fix View Options popup not responding to clicks

Remove duplicate popup rendering from render_vertical_tabs_panel.
The popup was rendered both inside the panel's stack AND at the
workspace level in a Dismiss overlay, causing event dispatch conflicts
due to shared MouseStateHandle instances between the two identical
popup trees.
This commit is contained in:
Ryan Ward
2026-06-23 15:28:59 -05:00
parent 5ea378a38d
commit 148c97eab1
49 changed files with 1507 additions and 419 deletions
+4 -4
View File
@@ -1,5 +1,5 @@
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(AltScreenReporting, settings: [
@@ -7,7 +7,7 @@ define_settings_group!(AltScreenReporting, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.mouse_reporting_enabled",
description: "Whether to forward mouse events to full-screen terminal applications.",
@@ -16,7 +16,7 @@ define_settings_group!(AltScreenReporting, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.scroll_reporting_enabled",
description: "Whether to forward scroll events to full-screen terminal applications.",
@@ -25,7 +25,7 @@ define_settings_group!(AltScreenReporting, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.focus_reporting_enabled",
description: "Whether to forward focus and blur events to full-screen terminal applications.",
+4 -4
View File
@@ -1,5 +1,5 @@
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
// Settings for controlling the behavior of the block list.
@@ -8,7 +8,7 @@ define_settings_group!(BlockListSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.blocks.show_jump_to_bottom_of_block_button",
description: "Whether to show the jump-to-bottom button in long command output.",
@@ -17,7 +17,7 @@ define_settings_group!(BlockListSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "general.snackbar_enabled",
description: "Whether to show snackbar notifications.",
@@ -26,7 +26,7 @@ define_settings_group!(BlockListSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.blocks.show_block_dividers",
description: "Whether to show dividers between terminal blocks.",
+14 -14
View File
@@ -2,7 +2,7 @@ use std::collections::HashSet;
use crate::{banner::BannerState, resource_center::Tip};
use galaxy_core::settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(GeneralSettings, settings: [
@@ -10,7 +10,7 @@ define_settings_group!(GeneralSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "general.show_warning_before_quitting",
description: "Whether to show a warning dialog before quitting Galaxy.",
@@ -19,7 +19,7 @@ define_settings_group!(GeneralSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::MAC,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "general.quit_on_last_window_closed",
description: "Whether to quit Galaxy when the last window is closed.",
@@ -28,7 +28,7 @@ define_settings_group!(GeneralSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "general.restore_session",
description: "Whether to restore the previous session when Galaxy starts up.",
@@ -64,7 +64,7 @@ define_settings_group!(GeneralSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "general.link_tooltip",
description: "Whether to show a tooltip when hovering over links.",
@@ -80,28 +80,28 @@ define_settings_group!(GeneralSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
agent_mode_onboarding_block_shown: AgentModeOnboardingBlockShown {
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
telemetry_banner_dismissed: TelemetryBannerDismissed {
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
user_default_shell_unsupported_banner_state: UserDefaultShellUnsupportedBannerState {
type: BannerState,
default: BannerState::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
open_in_warp_banner_dismissed_for_markdown: OpenInWarpBannerDismissedMarkdown {
@@ -129,14 +129,14 @@ define_settings_group!(GeneralSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
build_plan_migration_modal_dismissed: BuildPlanMigrationModalDismissed {
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
// One-time flag tracking whether the OpenWarp launch modal has already been
@@ -146,7 +146,7 @@ define_settings_group!(GeneralSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::No),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
anonymous_user_ai_sign_up_banner_shown: AnonymousUserAISignUpBannerShown {
@@ -160,7 +160,7 @@ define_settings_group!(GeneralSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "code.editor.auto_open_code_review_pane_on_first_agent_change",
description: "Whether to automatically open the code review pane when the agent makes its first change.",
@@ -169,7 +169,7 @@ define_settings_group!(GeneralSettings, settings: [
type: HashSet<String>,
default: HashSet::new(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
]);
+7 -7
View File
@@ -1,6 +1,6 @@
use galaxyui::{keymap::Keystroke, AppContext, DisplayIdx, ModelContext};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
};
use crate::{
@@ -17,7 +17,7 @@ define_settings_group!(KeysSettings, settings: [
type: crate::settings::QuakeModeSettings,
default: crate::settings::QuakeModeSettings::default(),
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "global_hotkey.dedicated_window.settings",
max_table_depth: 2,
@@ -27,7 +27,7 @@ define_settings_group!(KeysSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "global_hotkey.dedicated_window.enabled",
description: "Whether the dedicated hotkey window is enabled. Mutually exclusive with `global_hotkey.toggle_all_windows.enabled`; only one should be true at a time.",
@@ -36,7 +36,7 @@ define_settings_group!(KeysSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "global_hotkey.toggle_all_windows.enabled",
description: "Whether the hotkey that toggles visibility of all windows is enabled. Mutually exclusive with `global_hotkey.dedicated_window.enabled`; only one should be true at a time.",
@@ -45,7 +45,7 @@ define_settings_group!(KeysSettings, settings: [
type: Option<Keystroke>,
default: None,
supported_platforms: SupportedPlatforms::DESKTOP,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "global_hotkey.toggle_all_windows.keybinding",
description: "The keybinding used for the global activation hotkey. Format: modifiers (cmd, ctrl, alt, shift, meta) and a key joined by '-', e.g. \"cmd-shift-a\" or \"alt-enter\". Bindings are case-sensitive: when shift is present, the key must be its shifted form (e.g., \"ctrl-shift-E\", not \"ctrl-shift-e\").",
@@ -54,7 +54,7 @@ define_settings_group!(KeysSettings, settings: [
type: ExtraMetaKeysEnum,
default: ExtraMetaKeysEnum::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.extra_meta_keys",
description: "Controls which additional keys are treated as meta keys.",
@@ -63,7 +63,7 @@ define_settings_group!(KeysSettings, settings: [
type: CtrlTabBehavior,
default: CtrlTabBehavior::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "keys.ctrl_tab_behavior_setting",
description: "Controls the behavior of Ctrl+Tab.",
+2 -2
View File
@@ -2,7 +2,7 @@ use crate::features::FeatureFlag;
use galaxyui::{AppContext, SingletonEntity};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(LigatureSettings, settings: [
@@ -10,7 +10,7 @@ define_settings_group!(LigatureSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.text.ligature_rendering_enabled",
description: "Whether to render font ligatures in the terminal.",
+4 -4
View File
@@ -1,6 +1,6 @@
use galaxyui::{AppContext, SingletonEntity};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
};
use crate::{terminal::model::ObfuscateSecrets, workspaces::user_workspaces::UserWorkspaces};
@@ -75,7 +75,7 @@ define_settings_group!(SafeModeSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "privacy.secret_redaction.enabled",
description: "Whether secret redaction is enabled to detect and obscure secrets in terminal output.",
@@ -84,7 +84,7 @@ define_settings_group!(SafeModeSettings, settings: [
type: SecretDisplayMode,
default: SecretDisplayMode::Strikethrough,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "privacy.secret_redaction.secret_display_mode_setting",
description: "Controls how detected secrets are visually displayed in the terminal.",
@@ -94,7 +94,7 @@ define_settings_group!(SafeModeSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "privacy.secret_redaction.hide_secrets_in_block_list",
description: "Whether to hide detected secrets in the block list using asterisks.",
+12 -12
View File
@@ -10,7 +10,7 @@ pub use startup_shell::*;
pub use working_directory_config::*;
use galaxy_core::settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
use crate::ai::blocklist::agent_view::toolbar_item::AgentToolbarItemKind;
@@ -300,7 +300,7 @@ define_settings_group!(SessionSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.input.honor_ps1",
description: "Whether to use your shell's PS1 prompt instead of the Galaxy prompt.",
@@ -309,21 +309,21 @@ define_settings_group!(SessionSettings, settings: [
type: PromptSelection,
default: PromptSelection::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
should_add_agent_mode_chip: ShouldAddAgentModeChip {
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
should_confirm_close_session: ShouldConfirmCloseSession {
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "general.should_confirm_close_session",
description: "Whether to show a confirmation dialog when closing a session.",
@@ -333,14 +333,14 @@ define_settings_group!(SessionSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
}
notifications: Notifications {
type: NotificationsSettings,
default: NotificationsSettings::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "notifications.preferences",
max_table_depth: 1,
@@ -353,7 +353,7 @@ define_settings_group!(SessionSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
storage_key: "GitPromptDirtyIndicator",
},
@@ -364,7 +364,7 @@ define_settings_group!(SessionSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.input.show_model_selectors_in_prompt",
description: "Whether to show AI model selectors in the input prompt.",
@@ -373,7 +373,7 @@ define_settings_group!(SessionSettings, settings: [
type: AgentToolbarChipSelection,
default: AgentToolbarChipSelection::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.warp_agent.input.agent_toolbar_chip_selection_setting",
description: "Controls the layout of context chips in the Agent Mode toolbar.",
@@ -382,7 +382,7 @@ define_settings_group!(SessionSettings, settings: [
type: CLIAgentToolbarChipSelection,
default: CLIAgentToolbarChipSelection::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "agents.third_party.cli_agent_toolbar_chip_selection_setting",
description: "Controls the layout of context chips in the CLI Agent toolbar.",
@@ -391,7 +391,7 @@ define_settings_group!(SessionSettings, settings: [
type: u64,
default: 8,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "notifications.toast_duration_secs",
description: "How long notification toasts are displayed, in seconds.",
+6 -6
View File
@@ -3,7 +3,7 @@ use serde::{Deserialize, Serialize};
use crate::settings::{AISettings, InputSettings, TerminalSpacing};
use galaxyui::{units::Pixels, AppContext, SingletonEntity};
use settings::{
macros::define_settings_group, RespectUserSyncSetting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, SupportedPlatforms, SyncToCloud,
};
#[derive(
@@ -89,7 +89,7 @@ define_settings_group!(TerminalSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::DESKTOP, /* Audible bell is not supported on web */
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.use_audible_bell",
description: "Whether to play an audible bell sound on terminal bell events.",
@@ -98,7 +98,7 @@ define_settings_group!(TerminalSettings, settings: [
type: SpacingMode,
default: SpacingMode::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.spacing",
description: "Controls the spacing between terminal blocks.",
@@ -107,7 +107,7 @@ define_settings_group!(TerminalSettings, settings: [
type: usize,
default: 50_000,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.maximum_grid_size",
description: "The maximum number of rows in the terminal grid.",
@@ -116,7 +116,7 @@ define_settings_group!(TerminalSettings, settings: [
type: AltScreenPaddingMode,
default: AltScreenPaddingMode::default(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "appearance.full_screen_apps.alt_screen_padding",
max_table_depth: 0,
@@ -128,7 +128,7 @@ define_settings_group!(TerminalSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "terminal.show_terminal_zero_state_block",
description: "Whether to show the AI zero-state block in new terminal sessions.",
+6 -6
View File
@@ -1,7 +1,7 @@
use std::time::Duration;
use settings::{
macros::define_settings_group, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
macros::define_settings_group, Setting, SupportedPlatforms, SyncToCloud,
};
define_settings_group!(SharedSessionSettings, settings: [
@@ -9,7 +9,7 @@ define_settings_group!(SharedSessionSettings, settings: [
type: bool,
default: false,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
inactivity_period_before_ending_session: InactivityPeriodBeforeEndingSession {
@@ -17,7 +17,7 @@ define_settings_group!(SharedSessionSettings, settings: [
// After a total of 30 min of inactivity, we will end the session
default: Duration::from_secs(1800),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
inactivity_period_before_warning: InactivityPeriodBeforeWarning {
@@ -25,7 +25,7 @@ define_settings_group!(SharedSessionSettings, settings: [
// After a total of 25 min of inactivity, we will show a warning modal
default: Duration::from_secs(1500),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
inactivity_period_before_revoking_roles: InactivityPeriodBeforeRevokingRoles {
@@ -33,7 +33,7 @@ define_settings_group!(SharedSessionSettings, settings: [
// After a total of 10 min of inactivity, we will revoke all executor roles
default: Duration::from_secs(600),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
// Killswitch: when false, the sharer ignores viewer terminal size reports.
@@ -41,7 +41,7 @@ define_settings_group!(SharedSessionSettings, settings: [
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: true,
},
]);
+7 -7
View File
@@ -6,7 +6,7 @@ use lazy_static::lazy_static;
use regex::Regex;
use settings::{
macros::{maybe_define_setting, register_settings_events},
ChangeEventReason, RespectUserSyncSetting, Setting, SupportedPlatforms, SyncToCloud,
ChangeEventReason, Setting, SupportedPlatforms, SyncToCloud,
};
use strum_macros::EnumIter;
@@ -17,7 +17,7 @@ maybe_define_setting!(AddedSubshellCommands, group: WarpifySettings, {
type: Vec<String>,
default: Vec::new(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "warpify.subshells.added_subshell_commands",
description: "Additional regex patterns for commands that should be recognized as subshells.",
@@ -27,7 +27,7 @@ maybe_define_setting!(SubshellCommandsDenylist, group: WarpifySettings, {
type: Vec<String>,
default: Vec::new(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "warpify.subshells.subshell_commands_denylist",
description: "Commands that should not trigger the subshell warpification prompt.",
@@ -37,7 +37,7 @@ maybe_define_setting!(SshHostsDenylist, group: WarpifySettings, {
type: Vec<String>,
default: Vec::new(),
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "warpify.ssh.ssh_hosts_denylist",
description: "SSH hosts that should not trigger the warpification prompt.",
@@ -47,7 +47,7 @@ maybe_define_setting!(EnableSshWarpification, group: WarpifySettings, {
type: bool,
default: true,
supported_platforms: SupportedPlatforms::ALL,
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "warpify.ssh.enable_ssh_warpification",
description: "Whether to enable Galaxy features in SSH sessions.",
@@ -57,7 +57,7 @@ maybe_define_setting!(UseSshTmuxWrapper, group: WarpifySettings, {
type: bool,
default: false,
supported_platforms: SupportedPlatforms::OR(SupportedPlatforms::MAC.into(), SupportedPlatforms::LINUX.into()),
sync_to_cloud: SyncToCloud::Globally(RespectUserSyncSetting::Yes),
sync_to_cloud: SyncToCloud::Never,
private: false,
toml_path: "warpify.ssh.use_ssh_tmux_wrapper",
description: "Whether to use a tmux-based wrapper for SSH warpification.",
@@ -96,7 +96,7 @@ settings::macros::implement_setting_for_enum!(
SshExtensionInstallMode,
WarpifySettings,
SupportedPlatforms::ALL,
SyncToCloud::Globally(RespectUserSyncSetting::Yes),
SyncToCloud::Never,
private: false,
toml_path: "warpify.ssh.ssh_extension_install_mode",
description: "Controls SSH extension installation behavior.",