Add custom warping verbs (spinner verbs) feature#10384
Conversation
Adds the CustomWarpingVerbs feature flag and setting, allowing users to customize the spinner verb phrases shown while the Warp agent is processing. Includes built-in preset packs (medieval, conspiracy, cooking, warpy) and a custom freeform editor in AI settings. 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 the custom warping/spinner verbs setting, preset packs, Settings UI controls, bundled skill guidance, and status-bar rendering changes.
Concerns
- The new Settings UI code references
Wrap::row()without importingWrap, so the PR will not compile. - The custom spinner verb editor persists on every edit; clearing the field normalizes to an empty list, flips the mode back to Default, and hides the editor while the user is trying to replace the list.
app/src/settings_view/teams_page.rscontains unrelated Teams settings layout changes that should not ship in the spinner-verbs PR.
Verdict
Found: 1 critical, 1 important, 1 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
| Border, ChildView, Clipped, ConstrainedBox, CornerRadius, CrossAxisAlignment, Dismiss, | ||
| Expanded, Fill, HyperlinkLens, MainAxisAlignment, MainAxisSize, MouseStateHandle, Radius, | ||
| Shrinkable, Text, |
There was a problem hiding this comment.
🚨 [CRITICAL] Wrap::row() is used below but Wrap is not imported, so this file will not compile.
| Border, ChildView, Clipped, ConstrainedBox, CornerRadius, CrossAxisAlignment, Dismiss, | |
| Expanded, Fill, HyperlinkLens, MainAxisAlignment, MainAxisSize, MouseStateHandle, Radius, | |
| Shrinkable, Text, | |
| Border, ChildView, Clipped, ConstrainedBox, CornerRadius, CrossAxisAlignment, Dismiss, | |
| Expanded, Fill, HyperlinkLens, MainAxisAlignment, MainAxisSize, MouseStateHandle, Radius, | |
| Shrinkable, Text, Wrap, |
| me.spinner_verb_mode = SpinnerVerbMode::Custom; | ||
| AISettings::handle(ctx).update(ctx, |settings, ctx| { | ||
| settings.set_custom_warping_verbs( | ||
| verbs.split(',').map(str::to_owned).collect(), |
There was a problem hiding this comment.
[], which triggers SpinnerVerbMode::Default and hides the Custom editor while users are clearing the field to type a new list. Defer writes until blur/submit or keep Custom mode sticky for user edits even when the normalized list is empty.
| // 32px of breathing room above and below the divider. | ||
| // The 32px above comes from the invitation section's bottom padding | ||
| // (overridden below); `margin_bottom` provides the 32px below. | ||
| main_content.add_child( |
There was a problem hiding this comment.
💡 [SUGGESTION] These Teams settings layout changes are unrelated to spinner verbs and should be moved to a separate PR or reverted from this one.
Co-Authored-By: Oz <oz-agent@warp.dev>
|
/oz-review |
|
I'm re-reviewing this pull request in response to a review 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 dogfood-gated custom warping/spinner verbs, including settings schema support, verb normalization/selection, preset packs, settings UI controls, status-bar integration, and bundled skill documentation. The diff also contains unrelated Teams settings layout changes.
Concerns
- Manual testing and visual evidence are missing for user-visible settings/status UI changes; the PR body leaves both the manual-testing and screenshots/video checkboxes unchecked. Manual testing is required for changes that can be manually tested. Please include screenshots or a screen recording that show it working end to end, or justify why manual testing is not possible.
- The Teams settings layout changes are unrelated to the spinner-verbs feature and should be removed from this PR or separately described and tested.
Verdict
Found: 0 critical, 2 important, 1 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
| // The 32px above comes from the invitation section's bottom padding | ||
| // (overridden below); `margin_bottom` provides the 32px below. | ||
| main_content.add_child( | ||
| Container::new(Empty::new().finish()) |
There was a problem hiding this comment.
| .finish(); | ||
|
|
||
| let description = render_ai_setting_description( | ||
| "Customize the generic in-progress text Oz shows while it is working. Tool-specific status messages are unaffected.", |
There was a problem hiding this comment.
💡 [SUGGESTION] Keep the user-facing copy consistent with the feature scope, which also applies to the local Warp Agent spinner.
| "Customize the generic in-progress text Oz shows while it is working. Tool-specific status messages are unaffected.", | |
| "Customize the generic in-progress text shown while Warp Agent or Oz is working. Tool-specific status messages are unaffected.", |
|
I'm probably not the right person to review this PR - I haven't touched any of the related code. Let's go through Oz's automated review process until it auto-assigns a reviewer based on STAKEHOLDERS. Which repo was this copied from? How much of it was modified? The original issue was marked ready to spec but not ready to implement, which means we're expecting a We should also include screenshots and videos for visual changes in PR descriptions. |
Description
Migrates the custom warping verbs feature from the internal repo to the public repo. This feature allows users to customize the spinner verb phrases shown while the Warp agent is processing (e.g. replacing Warping with custom phrases or built-in preset packs like medieval, conspiracy, cooking, warpy).
Changes:
Linked Issue
Closes #7342
Testing
Agent Mode
Co-Authored-By: Oz oz-agent@warp.dev