first pass of merging in warp (doesn't build)
This commit is contained in:
@@ -11,3 +11,10 @@ fn test_all_preview_flags_have_a_description() {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn local_child_harnesses_are_local_only_by_default() {
|
||||
assert!(LOCAL_FLAGS.contains(&FeatureFlag::LocalClaudeCodexChildHarnesses));
|
||||
assert!(!DEBUG_FLAGS.contains(&FeatureFlag::LocalClaudeCodexChildHarnesses));
|
||||
assert!(!DOGFOOD_FLAGS.contains(&FeatureFlag::LocalClaudeCodexChildHarnesses));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
use super::*;
|
||||
|
||||
#[test]
|
||||
#[ignore = "CORE-3768 - need to clean up PREVIEW_FLAGS, but this is a temporary fix for the cluttered changelog"]
|
||||
fn test_all_preview_flags_have_a_description() {
|
||||
for flag in PREVIEW_FLAGS {
|
||||
assert!(
|
||||
flag.flag_description()
|
||||
.is_some_and(|description| !description.is_empty()),
|
||||
"Missing description for preview-enabled flag {flag:?}"
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn local_child_harnesses_are_local_only_by_default() {
|
||||
assert!(LOCAL_FLAGS.contains(&FeatureFlag::LocalClaudeCodexChildHarnesses));
|
||||
assert!(!DEBUG_FLAGS.contains(&FeatureFlag::LocalClaudeCodexChildHarnesses));
|
||||
assert!(!DOGFOOD_FLAGS.contains(&FeatureFlag::LocalClaudeCodexChildHarnesses));
|
||||
}
|
||||
@@ -1,7 +1,6 @@
|
||||
use std::sync::atomic::{AtomicBool, AtomicU8, Ordering};
|
||||
|
||||
use enum_iterator::{cardinality, Sequence};
|
||||
|
||||
#[cfg(feature = "test-util")]
|
||||
pub use overrides::{get_overrides, set_overrides};
|
||||
|
||||
@@ -114,10 +113,6 @@ pub enum FeatureFlag {
|
||||
/// Enables the settings file feature.
|
||||
SettingsFile,
|
||||
|
||||
/// Enables the settings import onboarding block and pre-parsing
|
||||
/// configs on app startup.
|
||||
SettingsImport,
|
||||
|
||||
/// Enables rect selection.
|
||||
RectSelection,
|
||||
|
||||
@@ -139,13 +134,6 @@ pub enum FeatureFlag {
|
||||
/// Enables AI rules for use with Agent Mode.
|
||||
AIRules,
|
||||
|
||||
/// Routes SSH sessions through the tmux-backed SSH wrapper.
|
||||
SSHTmuxWrapper,
|
||||
|
||||
/// Reduces the amount of horizontal padding in the blocklist
|
||||
/// from 20px to 16px.
|
||||
LessHorizontalTerminalPadding,
|
||||
|
||||
/// Enables the shell selector, allowing us to open a new tab in
|
||||
/// a shell other than the default shell.
|
||||
ShellSelector,
|
||||
@@ -153,9 +141,6 @@ pub enum FeatureFlag {
|
||||
/// Enables writing to long-running commands in shared sessions.
|
||||
SharedSessionWriteToLongRunningCommands,
|
||||
|
||||
/// Replaces the bookmark button with a "save as workflow" button.
|
||||
BlockToolbeltSaveAsWorkflow,
|
||||
|
||||
/// Lazily builds scenes at render time instead of eagerly when a view
|
||||
/// changes.
|
||||
LazySceneBuilding,
|
||||
@@ -165,12 +150,6 @@ pub enum FeatureFlag {
|
||||
/// https://github.com/warpdotdev/session-sharing-server/blob/b6590ebd0b0e7f6847d6b2228b4e77d63939ce22/server/Cargo.toml#L13
|
||||
SessionSharingAcls,
|
||||
|
||||
/// Removes the extraneous padding from the alt-screen that we previously had
|
||||
/// to keep consistent size between blocklist and alt-screen.
|
||||
///
|
||||
/// See plan here: https://docs.google.com/document/d/1TBPSWNfh4KylkEgL5o5xyYgK_KQzUQk1oxjuIx2ipXw
|
||||
RemoveAltScreenPadding,
|
||||
|
||||
/// Enables the full-screen "zen mode" setting, where we hide the tab bar if there's only one
|
||||
/// tab.
|
||||
FullScreenZenMode,
|
||||
@@ -269,6 +248,9 @@ pub enum FeatureFlag {
|
||||
/// Enables full source code embedding of repos when using codebase context.
|
||||
FullSourceCodeEmbedding,
|
||||
|
||||
/// Enables codebase indexing inside remote server daemon processes.
|
||||
RemoteCodebaseIndexing,
|
||||
|
||||
/// If enabled, command palette searches will use Tantivy search instead of the default fuzzy search.
|
||||
UseTantivySearch,
|
||||
|
||||
@@ -325,9 +307,6 @@ pub enum FeatureFlag {
|
||||
/// Enables inline review comments on specific lines of code.
|
||||
ContextLineReviewComments,
|
||||
|
||||
/// Enables the natural language classification model.
|
||||
NLDClassifierModelEnabled,
|
||||
|
||||
/// Enables the fast-forward autoexecute button
|
||||
FastForwardAutoexecuteButton,
|
||||
|
||||
@@ -370,9 +349,6 @@ pub enum FeatureFlag {
|
||||
/// Enables new Search Codebase UI
|
||||
SearchCodebaseUI,
|
||||
|
||||
/// Enables return changed lines on apply diff result
|
||||
ChangedLinesOnlyApplyDiffResult,
|
||||
|
||||
/// Enables us to render linked code blocks
|
||||
LinkedCodeBlocks,
|
||||
|
||||
@@ -394,10 +370,6 @@ pub enum FeatureFlag {
|
||||
/// Gates the bundled skill-based implementation of PR comment fetching.
|
||||
PRCommentsSkill,
|
||||
|
||||
/// An entrypoint pane type to launch other pane types from a search palette. The default view
|
||||
/// when creating a tab.
|
||||
WelcomeTab,
|
||||
|
||||
/// A new first-time user experience which prioritizes choosing a coding repository.
|
||||
GetStartedTab,
|
||||
|
||||
@@ -422,9 +394,6 @@ pub enum FeatureFlag {
|
||||
/// Allows opening file links using the $EDITOR environment variable.
|
||||
AllowOpeningFileLinksUsingEditorEnv,
|
||||
|
||||
/// Enables improvements to our natural language detection functionality.
|
||||
NldImprovements,
|
||||
|
||||
/// Enables the ability to undo closed panes.
|
||||
UndoClosedPanes,
|
||||
|
||||
@@ -470,6 +439,9 @@ pub enum FeatureFlag {
|
||||
/// Enables find/search in code review pane
|
||||
CodeReviewFind,
|
||||
|
||||
/// Enables asynchronous find in terminal, running search on a background thread.
|
||||
AsyncFind,
|
||||
|
||||
/// Enables using Agent Mode in shared sessions.
|
||||
AgentSharedSessions,
|
||||
|
||||
@@ -540,6 +512,10 @@ pub enum FeatureFlag {
|
||||
/// Enables v2 of the context window usage UI.
|
||||
ContextWindowUsageV2,
|
||||
|
||||
/// Dev-only: enables the expandable per-segment context window usage
|
||||
/// breakdown in the conversation usage card.
|
||||
ContextWindowUsageBreakdown,
|
||||
|
||||
/// Enables global search
|
||||
GlobalSearch,
|
||||
|
||||
@@ -599,6 +575,10 @@ pub enum FeatureFlag {
|
||||
/// Enables computer use functionality in local clients.
|
||||
LocalComputerUse,
|
||||
|
||||
/// Enables background, per-window computer use: driving a specific window directly without
|
||||
/// raising it or moving the cursor. Currently only supported on macOS.
|
||||
BackgroundComputerUse,
|
||||
|
||||
/// Enables team API key creation in the API key management UI.
|
||||
TeamApiKeys,
|
||||
|
||||
@@ -679,6 +659,9 @@ pub enum FeatureFlag {
|
||||
/// When enabled, the HOA onboarding flow is suppressed.
|
||||
OpenWarpLaunchModal,
|
||||
|
||||
/// Enables the orchestration launch modal announcing multi-agent orchestration features.
|
||||
OrchestrationLaunchModal,
|
||||
|
||||
/// Updated tab styling (background colors, border, close button positioning, margins).
|
||||
NewTabStyling,
|
||||
|
||||
@@ -706,14 +689,33 @@ pub enum FeatureFlag {
|
||||
/// content changes via auto-reload.
|
||||
CodeReviewScrollPreservation,
|
||||
|
||||
/// Enables orchestration mode (multi-agent parallel execution).
|
||||
Orchestration,
|
||||
/// Re-enables local Claude Code and Codex child harnesses in orchestration
|
||||
/// flows while the default behavior temporarily keeps them disabled.
|
||||
LocalClaudeCodexChildHarnesses,
|
||||
|
||||
/// Enables server-side durable messaging for orchestration (v2).
|
||||
/// When enabled, messages and events are stored in Postgres and the client
|
||||
/// opens a persistent SSE connection to the server to receive events in
|
||||
/// real time.
|
||||
OrchestrationV2,
|
||||
/// Gates client-side support for the `orchestrate` tool, which batches
|
||||
/// multiple child agents into a single tool call with an inline
|
||||
/// confirmation card. When enabled, the client advertises
|
||||
/// `RequestSettings.SupportsOrchestrate = true` and the server's
|
||||
/// orchestrate tool replaces `start_agent` / `start_agent_v2` for
|
||||
/// orchestration-capable conversations. Layered on top of
|
||||
/// `OrchestrationV2`; has no effect when v2 is off.
|
||||
RunAgentsTool,
|
||||
|
||||
/// Replaces `OrchestrationViewerModel`'s REST polling loop with an SSE-driven
|
||||
/// `ancestor_run_id` stream consumed via `OrchestrationEventStreamer`'s new
|
||||
/// viewer-mode entry. Off by default; flipping it on activates the
|
||||
/// per-orchestrator viewer-mode consumer and the broadcast `ChildSpawned`
|
||||
/// / `ChildStatusChanged` events. See `specs/orch-viewer-polling/TECH.md`.
|
||||
OrchestrationViewerStreamer,
|
||||
|
||||
/// Uses a parent-family ancestor stream for owner-side orchestrator event delivery.
|
||||
OwnerOrchestrationAncestorStreamer,
|
||||
|
||||
/// On `wait_for_events`, confirms parent status against the server and
|
||||
/// registers an orchestrator for the owner-side ancestor stream so it
|
||||
/// receives events for children created out-of-band (Oz CLI / web API).
|
||||
WaitForEventsParentRegistration,
|
||||
|
||||
/// Shows a pending user query indicator during summarization when a follow-up
|
||||
/// prompt is queued via `/fork-and-compact` or `/compact-and`.
|
||||
@@ -722,6 +724,8 @@ pub enum FeatureFlag {
|
||||
/// Gates the `/queue` slash command, which lets users queue a follow-up prompt
|
||||
/// while the agent is mid-response.
|
||||
QueueSlashCommand,
|
||||
/// Extends queued prompts to Cloud Mode setup and follow-up draining.
|
||||
QueuedPromptsV2,
|
||||
|
||||
/// Enables an agent tool for the CLI subagent to explicitly transfer command control to the
|
||||
/// user.
|
||||
@@ -736,6 +740,9 @@ pub enum FeatureFlag {
|
||||
|
||||
/// Enables header rows on all inline menus (label, tabs, resize handle).
|
||||
InlineMenuHeaders,
|
||||
/// Clears the current prompt when opening the inline model selector from the
|
||||
/// model chip, then restores that prompt when the selector closes.
|
||||
RestorePromptOnInlineModelSelectorSearch,
|
||||
|
||||
/// Enables associating a tab color with a directory so tabs automatically
|
||||
/// adopt the configured color when their working directory matches.
|
||||
@@ -777,6 +784,10 @@ pub enum FeatureFlag {
|
||||
/// Requires HOANotifications to also be enabled.
|
||||
CodexNotifications,
|
||||
|
||||
/// Enables the Codex Warp plugin marketplace integration.
|
||||
/// When disabled, Codex uses native OSC9 notifications.
|
||||
CodexPlugin,
|
||||
|
||||
/// Enables the install/update chip for the Gemini CLI Warp extension.
|
||||
/// Requires HOANotifications to also be enabled.
|
||||
GeminiNotifications,
|
||||
@@ -789,8 +800,8 @@ pub enum FeatureFlag {
|
||||
/// Enables tab configs — user-definable TOML templates for launching custom tab layouts.
|
||||
TabConfigs,
|
||||
|
||||
/// When enabled, free-tier users are blocked from AI features (no-AI experiment arm).
|
||||
FreeUserNoAi,
|
||||
/// Enables Warp local control through the standalone warpctrl CLI.
|
||||
WarpControlCli,
|
||||
|
||||
/// Enables the ask_user_question tool allowing the agent to ask clarifying questions.
|
||||
AskUserQuestion,
|
||||
@@ -798,6 +809,11 @@ pub enum FeatureFlag {
|
||||
/// When enabled, solo users (not on a team) can use BYO API keys.
|
||||
SoloUserByok,
|
||||
|
||||
/// Enables the Custom Inference settings UI for adding user-provided third-party / OpenAI-compatible inference endpoints.
|
||||
CustomInferenceEndpoints,
|
||||
/// Enables Custom Inference endpoints for enterprise users.
|
||||
CustomInferenceEndpointsEnterprise,
|
||||
|
||||
/// Replaces the in-block warpification banner with a warpify footer.
|
||||
WarpifyFooter,
|
||||
|
||||
@@ -832,17 +848,63 @@ pub enum FeatureFlag {
|
||||
|
||||
CloudModeInputV2,
|
||||
|
||||
/// Enables LSP-based code completion (autocomplete) in the code editor.
|
||||
LspCompletion,
|
||||
/// Enables continuing cloud mode conversations in the cloud after an execution ends.
|
||||
HandoffCloudCloud,
|
||||
|
||||
/// Enables LSP code actions (quick fixes, refactorings) in the code editor.
|
||||
LspCodeActions,
|
||||
/// Enables the local-to-cloud Oz handoff entry points (footer chip and
|
||||
/// `/move-to-cloud` slash command) that fork the active local Oz
|
||||
/// conversation into a fresh cloud agent run with the current workspace
|
||||
/// snapshot attached. Requires `OzHandoff` to also be enabled.
|
||||
HandoffLocalCloud,
|
||||
|
||||
/// Enables LSP-based symbol rename in the code editor.
|
||||
LspRename,
|
||||
/// Enables creating API keys scoped to named agents in the API key
|
||||
/// management UI. When enabled the "Team" option in the key-type
|
||||
/// selector is replaced with "Agent" and users can pick which agent
|
||||
/// identity the key authenticates as.
|
||||
NamedAgents,
|
||||
/// Gates the driver behavior that writes GitHub credentials to disk
|
||||
/// (`~/.git-credentials`, `~/.config/gh/hosts.yaml`) and runs the
|
||||
/// background refresh loop that keeps them fresh during a task run.
|
||||
GitCredentialRefresh,
|
||||
|
||||
/// Enables LSP signature help (parameter hints) in the code editor.
|
||||
LspSignatureHelp,
|
||||
/// Gates the v2 billing and usage page redesign.
|
||||
BillingAndUsagePageV2,
|
||||
/// Enables configurable expanded context windows for eligible GPT models.
|
||||
GPTConfigurableContextWindow,
|
||||
|
||||
/// Replaces the raw harness CLI command with a styled header showing CLI name + status icon.
|
||||
HarnessSessionHeader,
|
||||
|
||||
/// Enables the code review view for remote sessions.
|
||||
RemoteCodeReview,
|
||||
|
||||
/// Gates the Grouped Tabs feature.
|
||||
GroupedTabs,
|
||||
|
||||
/// Gates the Pinned Tabs feature, which lets users pin individual tabs
|
||||
/// and whole tab groups so they stay at the front of the tab list and
|
||||
/// are protected from reordering.
|
||||
PinnedTabs,
|
||||
|
||||
/// Gates the SuperGrok feature, which lets users
|
||||
/// connect a Grok subscription instead of pasting an API key.
|
||||
SuperGrok,
|
||||
|
||||
/// Gates Gemini Enterprise (GEAP) BYOLLM, which lets users
|
||||
/// route eliglible models to GEAP instead of Warp-managed inference.
|
||||
GeminiEnterprise,
|
||||
|
||||
/// Gates the custom model router feature, which allows users to define
|
||||
/// their own model routers.
|
||||
CustomModelRouters,
|
||||
|
||||
/// Shows a warning in the agent view when the active conversation's
|
||||
/// provider-side prompt cache has expired.
|
||||
PromptCacheExpiryWarning,
|
||||
|
||||
/// Enables the `--runner` flag on `run-cloud`, which overrides an agent's
|
||||
/// compute (docker image, instance shape, setup commands) by runner ID.
|
||||
CloudRunners,
|
||||
}
|
||||
|
||||
static FLAG_STATES: [AtomicBool; cardinality::<FeatureFlag>()] =
|
||||
@@ -861,6 +923,8 @@ static FEATURES_INITIALIZED: AtomicBool = AtomicBool::new(false);
|
||||
|
||||
/// Features used in debugging.
|
||||
pub const DEBUG_FLAGS: &[FeatureFlag] = &[FeatureFlag::DebugMode, FeatureFlag::RuntimeFeatureFlags];
|
||||
/// Features enabled only for the WarpLocal developer build.
|
||||
pub const LOCAL_FLAGS: &[FeatureFlag] = &[FeatureFlag::LocalClaudeCodexChildHarnesses];
|
||||
|
||||
/// Features enabled for the development team. The expectation is that, over
|
||||
/// time, these will move on to PREVIEW_FLAGS before being launched.
|
||||
@@ -871,8 +935,6 @@ pub const DOGFOOD_FLAGS: &[FeatureFlag] = &[
|
||||
FeatureFlag::RemoveAutosuggestionDuringTabCompletions,
|
||||
FeatureFlag::ResizeFix,
|
||||
FeatureFlag::AgentModeWorkflows,
|
||||
#[cfg(not(windows))]
|
||||
FeatureFlag::SSHTmuxWrapper,
|
||||
FeatureFlag::AgentModeAnalytics,
|
||||
FeatureFlag::LazySceneBuilding,
|
||||
FeatureFlag::SshDragAndDrop,
|
||||
@@ -882,21 +944,14 @@ pub const DOGFOOD_FLAGS: &[FeatureFlag] = &[
|
||||
FeatureFlag::RetryTruncatedCodeResponses,
|
||||
FeatureFlag::ContextLineReviewComments,
|
||||
FeatureFlag::RunGeneratorsWithCmdExe,
|
||||
FeatureFlag::NLDClassifierModelEnabled,
|
||||
FeatureFlag::Projects,
|
||||
FeatureFlag::ProviderCommand,
|
||||
FeatureFlag::ArtifactCommand,
|
||||
FeatureFlag::MarkdownImages,
|
||||
FeatureFlag::FileAndDiffSetComments,
|
||||
FeatureFlag::FileGlobV2Warnings,
|
||||
FeatureFlag::SummarizationViaMessageReplacement,
|
||||
FeatureFlag::LocalComputerUse,
|
||||
FeatureFlag::OzPlatformSkills,
|
||||
FeatureFlag::AgentViewBlockContext,
|
||||
FeatureFlag::OzLaunchModal,
|
||||
FeatureFlag::OzChangelogUpdates,
|
||||
FeatureFlag::PendingUserQueryIndicator,
|
||||
FeatureFlag::QueueSlashCommand,
|
||||
// These are enabled via 100% experiment on prod warp-server,
|
||||
// but we need to enable here for dogfood builds.
|
||||
FeatureFlag::CrossRepoContext,
|
||||
@@ -904,38 +959,31 @@ pub const DOGFOOD_FLAGS: &[FeatureFlag] = &[
|
||||
FeatureFlag::FullSourceCodeEmbedding,
|
||||
FeatureFlag::CodebaseIndexSpeedbump,
|
||||
// End manually enabled Code features.
|
||||
FeatureFlag::DirectoryTabColors,
|
||||
FeatureFlag::EditableMarkdownMermaid,
|
||||
FeatureFlag::CodeReviewScrollPreservation,
|
||||
FeatureFlag::OzIdentityFederation,
|
||||
FeatureFlag::AgentHarness,
|
||||
FeatureFlag::OzHandoff,
|
||||
FeatureFlag::ConversationApi,
|
||||
FeatureFlag::RememberFastForwardState,
|
||||
FeatureFlag::HOANotifications,
|
||||
FeatureFlag::OrchestrationV2,
|
||||
FeatureFlag::GeminiNotifications,
|
||||
FeatureFlag::LocalDockerSandbox,
|
||||
FeatureFlag::VerticalTabsSummaryMode,
|
||||
FeatureFlag::CloudModeSetupV2,
|
||||
FeatureFlag::LspCompletion,
|
||||
FeatureFlag::LspCodeActions,
|
||||
FeatureFlag::LspRename,
|
||||
FeatureFlag::LspSignatureHelp,
|
||||
#[cfg(not(windows))]
|
||||
FeatureFlag::SshRemoteServer,
|
||||
FeatureFlag::RemoteCodebaseIndexing,
|
||||
FeatureFlag::GPTConfigurableContextWindow,
|
||||
FeatureFlag::RestorePromptOnInlineModelSelectorSearch,
|
||||
FeatureFlag::WarpControlCli,
|
||||
FeatureFlag::PromptCacheExpiryWarning,
|
||||
FeatureFlag::PinnedTabs,
|
||||
FeatureFlag::BackgroundComputerUse,
|
||||
FeatureFlag::ContextWindowUsageBreakdown,
|
||||
FeatureFlag::CloudRunners,
|
||||
FeatureFlag::WaitForEventsParentRegistration,
|
||||
];
|
||||
|
||||
/// Features enabled for feature preview build users (e.g.: Friends of Warp).
|
||||
/// All PREVIEW_FLAGS are also automatically added to dogfood builds (WarpDev).
|
||||
pub const PREVIEW_FLAGS: &[FeatureFlag] = &[
|
||||
FeatureFlag::Orchestration,
|
||||
FeatureFlag::BlocklistMarkdownTableRendering,
|
||||
FeatureFlag::BlocklistMarkdownImages,
|
||||
FeatureFlag::MarkdownTables,
|
||||
FeatureFlag::OzIdentityFederation,
|
||||
// Remote server binary is not yet supported on Windows.
|
||||
#[cfg(not(windows))]
|
||||
FeatureFlag::SshRemoteServer,
|
||||
FeatureFlag::GitOperationsInCodeReview,
|
||||
FeatureFlag::AsyncFind,
|
||||
#[cfg(any(target_os = "macos", target_os = "windows"))]
|
||||
FeatureFlag::DragTabsToWindows,
|
||||
];
|
||||
|
||||
/// Features enabled for all release builds (i.e.: everything but WarpLocal).
|
||||
@@ -948,10 +996,13 @@ pub const RELEASE_FLAGS: &[FeatureFlag] = &[
|
||||
// Marked text is currently only supported on MacOS.
|
||||
#[cfg(target_os = "macos")]
|
||||
FeatureFlag::ImeMarkedText,
|
||||
// Remote server binary is not yet supported on Windows.
|
||||
#[cfg(not(windows))]
|
||||
FeatureFlag::SshRemoteServer,
|
||||
];
|
||||
|
||||
/// Flags that we want to allow to switch at runtime (assuming RuntimeFeatureFlags is set)
|
||||
pub const RUNTIME_FEATURE_FLAGS: &[FeatureFlag] = &[];
|
||||
pub const RUNTIME_FEATURE_FLAGS: &[FeatureFlag] = &[FeatureFlag::LocalClaudeCodexChildHarnesses];
|
||||
|
||||
impl FeatureFlag {
|
||||
pub fn is_enabled(&self) -> bool {
|
||||
@@ -975,7 +1026,9 @@ impl FeatureFlag {
|
||||
// Allow calling this in integration tests because we sometimes use it in the app
|
||||
// during flows that integration tests cover.
|
||||
if cfg!(test) && cfg!(not(feature = "integration_tests")) {
|
||||
panic!("Tried to globally enable {self:?} in a test. Use FeatureFlag::{self:?}.override_enabled instead");
|
||||
panic!(
|
||||
"Tried to globally enable {self:?} in a test. Use FeatureFlag::{self:?}.override_enabled instead"
|
||||
);
|
||||
}
|
||||
FLAG_STATES[self as usize].store(enabled, Ordering::Relaxed);
|
||||
}
|
||||
@@ -1018,16 +1071,28 @@ impl FeatureFlag {
|
||||
BlocklistMarkdownImages => {
|
||||
Some("Enables rendering markdown images inline in AI block list responses.")
|
||||
}
|
||||
CloudEnvironments => Some("Enables creating and managing Warp Environments via the CLI."),
|
||||
CreateEnvironmentSlashCommand => Some("Enables the /create environment slash command for setting up Warp Environments with custom configurations."),
|
||||
CloudEnvironments => {
|
||||
Some("Enables creating and managing Warp Environments via the CLI.")
|
||||
}
|
||||
CreateEnvironmentSlashCommand => Some(
|
||||
"Enables the /create environment slash command for setting up Warp Environments with custom configurations.",
|
||||
),
|
||||
GlobalSearch => Some("Enables global search in the left panel"),
|
||||
BlocklistMarkdownTableRendering => {
|
||||
Some("Enables rendering markdown tables inline in AI block list responses.")
|
||||
}
|
||||
MarkdownTables => Some("Enables rendering and interaction support for markdown tables in notebooks."),
|
||||
OzIdentityFederation => Some("Enables automatic authentication from Oz to AWS and GCP"),
|
||||
SettingsFile => Some("Enables configuring Warp via a user-editable `settings.toml` file, with hot reload and error reporting for invalid values."),
|
||||
GitOperationsInCodeReview => Some("Enables commit, push, and create-PR actions directly from the code review panel."),
|
||||
MarkdownTables => {
|
||||
Some("Enables rendering and interaction support for markdown tables in notebooks.")
|
||||
}
|
||||
SettingsFile => Some(
|
||||
"Enables configuring Warp via a user-editable `settings.toml` file, with hot reload and error reporting for invalid values.",
|
||||
),
|
||||
GitOperationsInCodeReview => Some(
|
||||
"Enables commit, push, and create-PR actions directly from the code review panel.",
|
||||
),
|
||||
AsyncFind => Some(
|
||||
"Runs terminal find on a background thread to keep the UI responsive while searching large outputs.",
|
||||
),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
@@ -1051,7 +1116,8 @@ mod overrides {
|
||||
/// should use overrides instead of globally modifying flags with [`super::FeatureFlag::set_enabled`].
|
||||
#[cfg(feature = "test-util")]
|
||||
mod overrides {
|
||||
use std::{cell::RefCell, collections::HashMap};
|
||||
use std::cell::RefCell;
|
||||
use std::collections::HashMap;
|
||||
|
||||
use super::FeatureFlag;
|
||||
|
||||
@@ -1122,7 +1188,7 @@ mod overrides {
|
||||
|
||||
/// An atomic tri-state value.
|
||||
///
|
||||
/// This is initally unset, and can be set to a true or false value.
|
||||
/// This is initially unset, and can be set to a true or false value.
|
||||
///
|
||||
/// Writes and reads use [`Ordering::Relaxed`], so should not be used for
|
||||
/// synchronization.
|
||||
@@ -1182,5 +1248,5 @@ impl From<TriState> for Option<bool> {
|
||||
}
|
||||
|
||||
#[cfg(test)]
|
||||
#[path = "features_test.rs"]
|
||||
#[path = "features_tests.rs"]
|
||||
mod tests;
|
||||
|
||||
Reference in New Issue
Block a user