Skip to content

Add command palette entries for missing toggle settings#11512

Merged
zachlloyd merged 5 commits into
masterfrom
zach/missing-command-palette-settings
May 27, 2026
Merged

Add command palette entries for missing toggle settings#11512
zachlloyd merged 5 commits into
masterfrom
zach/missing-command-palette-settings

Conversation

@zachlloyd
Copy link
Copy Markdown
Contributor

@zachlloyd zachlloyd commented May 21, 2026

Description

Adds command-palette enable/disable entries for toggleable settings that were missing searchable palette coverage across Appearance, Features, Code, Privacy, Warp Drive, Warpify, and AI settings.

This PR:

  • registers the new toggle bindings on the relevant settings pages
  • adds the shared context flags needed for the command palette to show the correct enable/disable wording
  • populates those flags from workspace/settings state so the entries reflect current toggle values
  • reconciles the settings audit into one branch after the 8-agent shard pass

Audit / validation context:

https://www.loom.com/share/df7406a18c114a7c9ba2d58721792eeb

Linked Issue

  • The linked issue is labeled ready-to-spec or ready-to-implement.
  • Where appropriate, screenshots or a short video of the implementation are included below (especially for user-visible or UI changes).

No linked issue for this settings parity sweep.

Testing

  • cargo fmt --all --manifest-path /Users/zach/Projects/warp_3/Cargo.toml
  • cargo check --manifest-path /Users/zach/Projects/warp_3/Cargo.toml
  • git diff --check
  • Oz cloud computer-use validation from pushed commit d05cb651: captured screenshots for 41/41 newly added command-palette toggle entries and found no missing or duplicated palette entries.
  • cargo clippy --workspace --all-targets --all-features --tests --manifest-path /Users/zach/Projects/warp_3/Cargo.toml -- -D warnings
    • This currently fails outside this PR in app/src/pane_group/mod_tests.rs:1183 with E0061 (request_ambient_agent_task_id_for_hidden_child is called with 4 arguments where the helper takes 3). That file is untouched by this branch.
  • I have manually tested my changes locally with ./script/run
    • ./script/run built, bundled, and launched WarpLocal.app locally before being interrupted, but I did not treat that as full manual UI coverage for this PR.

Screenshots / Videos

Cloud screenshot validation covered every newly added palette entry. The screenshot set and review context are available from the linked Oz conversation artifact above.

Agent Mode

  • Warp Agent Mode - This PR was created via Warp's AI Agent Mode

Co-Authored-By: Oz oz-agent@warp.dev

Co-Authored-By: Oz <oz-agent@warp.dev>
@cla-bot cla-bot Bot added the cla-signed label May 21, 2026
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 21, 2026

@zachlloyd

I'm starting a first review of this pull request.

You can view the conversation on Warp.

I completed the review and no human review was requested for this pull request.

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

Copy link
Copy Markdown
Contributor

@oz-for-oss oz-for-oss Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overview

This PR adds command-palette enable/disable entries and supporting context flags for many missing toggleable settings across Appearance, Features, Code, Privacy, Warp Drive, Warpify, and AI settings.

Concerns

  • The Git operations autogen palette entry drops its FeatureFlag::GitOperationsInCodeReview enabled predicate because .is_supported_on_current_platform() rebuilds the action pair with enabled_predicate: None.
  • The cloud AI conversation storage palette entry bypasses the admin/force gating that locks or hides the settings UI, allowing a managed privacy setting to be changed through the command palette.

Security

  • The cloud AI conversation storage command-palette action can mutate and persist an organization-managed privacy setting outside the disabled UI path; when the org forces Enable, setting the underlying user preference to false also disables code paths that read PrivacySettings::is_cloud_conversation_storage_enabled.

Verdict

Found: 0 critical, 2 important, 0 suggestions

Request changes

Comment /oz-review on this pull request to retrigger a review (up to 3 times on the same pull request).

Powered by Oz

)
.with_group(bindings::BindingGroup::WarpAi)
.with_enabled(|| FeatureFlag::GitOperationsInCodeReview.is_enabled())
.is_supported_on_current_platform(
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] is_supported_on_current_platform() reconstructs the pair with enabled_predicate: None, so chaining it after .with_enabled(|| FeatureFlag::GitOperationsInCodeReview.is_enabled()) drops the feature-flag gate and exposes this palette command when the flag is off. Apply the platform check before .with_enabled(...) or preserve the existing predicate in is_supported_on_current_platform().

&(context.clone() & id!(flags::IS_ANY_AI_ENABLED)),
flags::CLOUD_CONVERSATION_STORAGE_FLAG,
)
.with_enabled(|| FeatureFlag::CloudConversations.is_enabled()),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [IMPORTANT] [SECURITY] This palette action only checks the feature flag, but CloudConversationStorageWidget also hides/locks the toggle for telemetry-force and AdminEnablementSetting::{Enable, Disable}. Add the same editability gate here (for example via a context flag set only for RespectUserSetting) so users cannot mutate an org-managed cloud-conversation-storage setting through the command palette.

Co-Authored-By: Oz <oz-agent@warp.dev>
@zachlloyd zachlloyd requested a review from alokedesai May 22, 2026 16:30
Copy link
Copy Markdown
Member

@alokedesai alokedesai left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are you fixing the weird "Create XXX" item in the command palette as a followup? if not, lmk and I'll make sure someone fixes

@zachlloyd
Copy link
Copy Markdown
Contributor Author

@alokedesai that "Create XXX" thing is for creating a new file. it should be clearer. I can fix

zachlloyd and others added 2 commits May 27, 2026 16:13
Preserve enabled predicates when applying platform support checks to toggle setting action pairs.

Hide the cloud conversation storage palette actions unless the organization setting allows users to edit the preference.

Co-Authored-By: Oz <oz-agent@warp.dev>
@zachlloyd zachlloyd enabled auto-merge (squash) May 27, 2026 23:44
@zachlloyd zachlloyd merged commit 040a781 into master May 27, 2026
25 checks passed
@zachlloyd zachlloyd deleted the zach/missing-command-palette-settings branch May 27, 2026 23:56
zachlloyd added a commit that referenced this pull request Jun 1, 2026
## Description
Removes the older generic command-palette/editable binding for mouse
reporting that appeared as “Toggle Mouse Reporting”. PR #11512 already
added the clearer state-aware `Enable/Disable mouse reporting`
command-palette entry, so this keeps that entry and removes the
duplicate generic toggle.

This follows the Slack thread suggestion to prefer the explicit
enable/disable wording in the command palette.

## Linked Issue
- [ ] The linked issue is labeled `ready-to-spec` or
`ready-to-implement`.
- [ ] Where appropriate, screenshots or a short video of the
implementation are included below (especially for user-visible or UI
changes).

Slack thread: feedback-app duplicate command palette items report.

## Testing
- `cargo fmt --manifest-path /workspace/warp/app/Cargo.toml`
- `cargo check --manifest-path /workspace/warp/app/Cargo.toml -p warp`
- `git diff --check`

- [ ] I have manually tested my changes locally with `./script/run`

### Screenshots / Videos
N/A; this removes a duplicate command-palette registration and was
validated with formatting and compile checks.

## Agent Mode
- [x] Warp Agent Mode - This PR was created via Warp's AI Agent Mode

CHANGELOG-BUG-FIX: Fixed duplicate command palette entries for mouse
reporting.

_Conversation:
https://staging.warp.dev/conversation/ff982ffa-de02-4dbc-b3c5-cd3d86d79711_
_Run:
https://oz.staging.warp.dev/runs/019e8418-5e87-7744-ae59-7130cb62c528_
_This PR was generated with [Oz](https://warp.dev/oz)._

Co-authored-by: Oz <oz-agent@warp.dev>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants