Add command palette entries for missing toggle settings#11512
Conversation
Co-Authored-By: Oz <oz-agent@warp.dev>
|
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 Powered by Oz |
There was a problem hiding this comment.
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::GitOperationsInCodeReviewenabled predicate because.is_supported_on_current_platform()rebuilds the action pair withenabled_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( |
There was a problem hiding this comment.
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()), |
There was a problem hiding this comment.
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>
alokedesai
left a comment
There was a problem hiding this comment.
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
|
@alokedesai that "Create XXX" thing is for creating a new file. it should be clearer. I can fix |
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>
## 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>
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:
Audit / validation context:
https://www.loom.com/share/df7406a18c114a7c9ba2d58721792eeb
Linked Issue
ready-to-specorready-to-implement.No linked issue for this settings parity sweep.
Testing
cargo fmt --all --manifest-path /Users/zach/Projects/warp_3/Cargo.tomlcargo check --manifest-path /Users/zach/Projects/warp_3/Cargo.tomlgit diff --checkd05cb651: 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 warningsapp/src/pane_group/mod_tests.rs:1183withE0061(request_ambient_agent_task_id_for_hidden_childis called with 4 arguments where the helper takes 3). That file is untouched by this branch../script/run./script/runbuilt, bundled, and launchedWarpLocal.applocally 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
Co-Authored-By: Oz oz-agent@warp.dev