Skip to content

Add custom warping verbs (spinner verbs) feature#10384

Open
eluzzi5 wants to merge 4 commits into
masterfrom
erica/spinner-verbs
Open

Add custom warping verbs (spinner verbs) feature#10384
eluzzi5 wants to merge 4 commits into
masterfrom
erica/spinner-verbs

Conversation

@eluzzi5
Copy link
Copy Markdown

@eluzzi5 eluzzi5 commented May 7, 2026

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:

  • Added CustomWarpingVerbs feature flag (dogfood-enabled)
  • Added custom_warping_verbs setting in AI settings with full schema/description
  • Added warping verb pack definitions and normalization logic
  • Added spinner verb mode selector and custom editor in the AI settings page
  • Updated the modify-settings skill to document spinner verb handling
  • Updated status bar to display custom warping verbs

Linked Issue

Closes #7342

  • 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.

Testing

  • I have manually tested my changes locally

Agent Mode

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

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

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>
@cla-bot cla-bot Bot added the cla-signed label May 7, 2026
@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 7, 2026

@eluzzi5

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 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 importing Wrap, 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.rs contains 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

Comment thread app/src/settings_view/ai_page.rs Outdated
Comment on lines +57 to +59
Border, ChildView, Clipped, ConstrainedBox, CornerRadius, CrossAxisAlignment, Dismiss,
Expanded, Fill, HyperlinkLens, MainAxisAlignment, MainAxisSize, MouseStateHandle, Radius,
Shrinkable, Text,
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.

🚨 [CRITICAL] Wrap::row() is used below but Wrap is not imported, so this file will not compile.

Suggested change
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(),
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] Saving on every edit makes an empty editor normalize to [], 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(
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.

💡 [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>
@eluzzi5 eluzzi5 requested a review from peicodes May 7, 2026 19:00
@peicodes
Copy link
Copy Markdown
Contributor

peicodes commented May 7, 2026

/oz-review

@oz-for-oss
Copy link
Copy Markdown
Contributor

oz-for-oss Bot commented May 7, 2026

@peicodes

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 /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 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())
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] These Teams settings layout changes are unrelated to the spinner-verbs feature and the PR has no description or visual evidence for them; remove these hunks or document/test them separately.

.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.",
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.

💡 [SUGGESTION] Keep the user-facing copy consistent with the feature scope, which also applies to the local Warp Agent spinner.

Suggested change
"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.",

@peicodes peicodes removed their request for review May 12, 2026 15:52
@peicodes
Copy link
Copy Markdown
Contributor

peicodes commented May 12, 2026

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 PRODUCT.md and a TECH.md. For internal contributors, it's probably fine to have the specs alongside the code, but we do expect to see those especially if the PR is agent-generated.

We should also include screenshots and videos for visual changes in PR descriptions.

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.

Feature Request: Allow customization of startup 'warping...' message

2 participants