Skip to content

improvement(chat): shimmer active subagent and tool labels instead of spinners#5612

Merged
waleedlatif1 merged 5 commits into
stagingfrom
feat/chat-subagent-shimmer
Jul 12, 2026
Merged

improvement(chat): shimmer active subagent and tool labels instead of spinners#5612
waleedlatif1 merged 5 commits into
stagingfrom
feat/chat-subagent-shimmer

Conversation

@waleedlatif1

Copy link
Copy Markdown
Collaborator

Summary

  • Extracted the ThinkingLoader label shimmer into a reusable ShimmerText primitive (components/ui), same gradient/timing/dark-mode stops, with a reduced-motion fallback
  • Subagent group headers keep their agent icon and shimmer the label while the subagent is working, instead of swapping the icon for a PillsRing spinner
  • Executing tool rows show their tool icon (or an outline circle when none) with a shimmering title, instead of a per-row spinner
  • Expand/collapse chevron on subagent rows is now hover-revealed instead of permanently visible; rotation still indicates state
  • Presentational only — no changes to segment/lane/resolve logic

Type of Change

  • Improvement

Testing

Tested manually; message-content test suite passes (32 tests)

Checklist

  • Code follows project style guidelines
  • Self-reviewed my changes
  • Tests added/updated and passing
  • No new warnings introduced
  • I confirm that I have read and agree to the terms outlined in the Contributor License Agreement (CLA)

@vercel

vercel Bot commented Jul 12, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Skipped Skipped Jul 12, 2026 1:35am

Request Review

@cursor

cursor Bot commented Jul 12, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Presentational UI only in chat message content; no changes to streaming, lane, or resolve logic.

Overview
Chat agent group and tool call rows now signal in-progress work with shimmering labels instead of PillsRing spinners, while keeping stable icons on the left.

A shared ShimmerText primitive (components/ui) centralizes the ThinkingLoader-style gradient sweep (dark mode + prefers-reduced-motion opacity pulse via --shimmer-rest). ThinkingLoader composes that module instead of duplicating shimmer CSS.

Subagent headers always show the agent icon; the label shimmers when isWorking (delegating/unresolved or streaming with an open lane). The expand chevron is hidden until hover/focus-visible.

Executing tool rows show the tool icon (or a new outline circle fallback) with a shimmering title; completed/cancelled states are unchanged.

Reviewed by Cursor Bugbot for commit 8bb0808. Configure here.

@greptile-apps

greptile-apps Bot commented Jul 12, 2026

Copy link
Copy Markdown
Contributor

Greptile Summary

This PR replaces spinner-based activity indicators with shimmering text labels. The main changes are:

  • Adds a reusable ShimmerText UI primitive.
  • Uses shimmering subagent labels while a subagent is working.
  • Uses shimmering tool titles while a tool is executing.
  • Keeps agent and tool icons visible instead of swapping them for spinners.
  • Moves ThinkingLoader shimmer styling into the shared shimmer module.

Confidence Score: 5/5

This looks safe to merge.

  • No blocking issues found in the changed code.
  • The focused chevron path now includes a keyboard focus reveal state.
  • The shimmer extraction keeps styling local to the affected components.

Important Files Changed

Filename Overview
apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/agent-group/agent-group.tsx Subagent headers now keep the agent icon, shimmer the label during active work, and reveal the chevron on hover or keyboard focus.
apps/sim/app/workspace/[workspaceId]/home/components/message-content/components/agent-group/tool-call-item.tsx Executing tool rows now keep a tool icon or outline marker and shimmer the title text.
apps/sim/components/ui/shimmer-text.tsx Adds the reusable ShimmerText component.
apps/sim/components/ui/shimmer-text.module.css Defines the shared shimmer effect, dark-mode gradient, and reduced-motion fallback.
apps/sim/components/ui/thinking-loader.module.css Composes the ThinkingLoader label shimmer from the shared shimmer module.
apps/sim/components/ui/index.ts Exports ShimmerText from the shared UI barrel.

Reviews (5): Last reviewed commit: "fix(chat): apply reduced-motion shimmer ..." | Re-trigger Greptile

Comment thread apps/sim/components/ui/shimmer-text.module.css
Comment thread apps/sim/components/ui/shimmer-text.module.css
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

Comment thread apps/sim/components/ui/shimmer-text.module.css
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

Comment thread apps/sim/components/ui/shimmer-text.module.css
@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@greptile

@waleedlatif1

Copy link
Copy Markdown
Collaborator Author

@cursor review

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

Reviewed by Cursor Bugbot for commit 8bb0808. Configure here.

@waleedlatif1 waleedlatif1 merged commit b629292 into staging Jul 12, 2026
18 checks passed
@waleedlatif1 waleedlatif1 deleted the feat/chat-subagent-shimmer branch July 12, 2026 01:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant