Skip to content

Add loading icon for waiting subagents - #4111

Open
wailingwombat wants to merge 8 commits into
masterfrom
anna/prod-5191-loading-icon-for-subagents
Open

Add loading icon for waiting subagents#4111
wailingwombat wants to merge 8 commits into
masterfrom
anna/prod-5191-loading-icon-for-subagents

Conversation

@wailingwombat

@wailingwombat wailingwombat commented Sep 4, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • Adds AgentLoadingIcon for agent waiting states, with Storybook variants so design can compare marks.
  • Cursor family: original spin, cursorWave, and cursorEq (equalizer). Character marks: whimsy bird and aaron.
  • Success and error collapse to a single bullet (neutral / red). Chat stories show working, success, and an error row with a message.

Fixes PROD-5191.

Test plan

  • Open Storybook AgentLoadingIcon and review Default, CursorWave, CursorEq, Whimsy, Aaron, Paper
  • Confirm completed rows show a bullet and error rows show a red bullet plus the error message
  • Open a workbench job that launches a subagent and confirm the waiting row uses the loading mark
  • Confirm completed subagent rows are unchanged in the product (no spinner, original title)

Plural Flow: console

Gives pending subagent rows and workbench loading text a Cursor-like animated mark that can be iterated on in design.

Co-authored-by: Cursor <cursoragent@cursor.com>
@linear

linear Bot commented Sep 4, 2026

Copy link
Copy Markdown

PROD-5191

@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Adds Storybook variants (cursor, paper short/long, whimsy, aaron) so design can pick a mark, and labels pending tool rows as "{role} subagent" to match the workbench chat.

Co-authored-by: Cursor <cursoragent@cursor.com>
@soffi-ai

soffi-ai Bot commented Sep 8, 2026

Copy link
Copy Markdown
Soffi AI Summary

This PR introduces a new AgentLoadingIcon component to the design system to provide visual feedback when subagents are in a waiting or working state in the AI workbench. The motivation is to give users a clear, animated indicator that distinguishes active subagent execution from idle, completed, or errored states — addressing a product gap (PROD-5191) where waiting subagents had no dedicated loading treatment.

The component supports multiple animation variants (cursor typewriter, wave, equalizer, slide, pulse, and character marks like "whimsy bird" and "aaron") so design can compare options via Storybook stories. Success and error states collapse the animation into a single status bullet (neutral or red), and error rows additionally display an error message. The component is wired into the chat message and tool-call display layers so that in-product subagent rows immediately use the new loading mark when waiting, while completed rows remain unchanged.

Changes

Subagent loading icon

  • Introduced the initial AgentLoadingIcon component with a cursor (typewriter dot-matrix) animation variant and Storybook stories. Exported the component from the design-system index. (968fe67)
  • Iterated on the loading marks and chat titles: wired the new icon into MultiThreadViewerMessage and toolCallDisplay so waiting subagent rows display the animated mark, and updated AILoadingText to reduce duplication. (0a02c4d)
  • Added three additional animation variants — cursorEq (equalizer), cursorWave (cascading wave), and StatusBullet — plus success/error state collapse to a single bullet. Expanded Storybook stories to cover all variants and both status states. (6d39d69)

Updated: 2026-09-10 20:55 UTC

Deploy in Soffi

Adds cursor wave and equalizer variants, and uses a single bullet for success and error so Storybook can compare completed and failed subagent rows.
@wailingwombat wailingwombat added the enhancement New feature or request label Sep 10, 2026
Resolves toolCallDisplay conflicts by keeping formatSubagentTitle and taking master's lowercase read label.
@wailingwombat
wailingwombat marked this pull request as ready for review September 10, 2026 20:56
@wailingwombat
wailingwombat requested a review from a team as a code owner September 10, 2026 20:56
@greptile-apps

greptile-apps Bot commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

RetriggerConfidence Score: 5/5

The PR appears safe to merge with no outstanding findings in the scoring set.

Summary

  • Adds multiple loading-icon variants and Storybook previews.
  • Shows role-specific titles only for pending subagent calls while preserving completed titles.
  • Adds reduced-motion handling that slows the animations.
  • Exports the component through the design-system package.

Reviews (2) · Last reviewed commit: "Slow loading marks and title shimmer und..."

Comment thread js/console/src/components/ai/chatbot/toolCallDisplay.tsx Outdated
Comment thread js/design-system/src/components/AgentLoadingIcon.tsx
Completed rows keep the original “subagent” title; “Coding subagent” only shows while the call is waiting.
Stops looping CSS and canvas motion when the user prefers reduced motion, and keeps a static first-frame mark instead.
Keeps a quiet loop so waiting rows still look alive instead of frozen next to a shimmering header.
@wailingwombat

Copy link
Copy Markdown
Collaborator Author

@greptile

Unblocks CI JavaScript lint, which failed on design-system lint:format for this file.

@plural-copilot plural-copilot Bot left a comment

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.

✅ Deploy preview for docs-pr-4111 is ready!

Name Details
⚡ Service docs-pr-4111 (5 / 5 ready)
☁️ Cluster plural (eks)
:octocat: Commit sha 68dfadc
Plural URL https://console.mgmt.plural.sh/cd/clusters/446acdef-8524-425a-a49f-5336a...
🔍 Logs URL https://console.mgmt.plural.sh/cd/clusters/446acdef-8524-425a-a49f-5336a...
🌊 Flow URL https://console.mgmt.plural.sh/flows/08a17af1-8578-449e-9ae1-28ccd97eafc...
Preview Link Preview

You can learn more about preview environments and Plural Flows here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant