Skip to content

dot/ascii animations for terminals in chat#317416

Merged
justschen merged 4 commits into
mainfrom
justin/oricorio-baile
May 20, 2026
Merged

dot/ascii animations for terminals in chat#317416
justschen merged 4 commits into
mainfrom
justin/oricorio-baile

Conversation

@justschen
Copy link
Copy Markdown
Collaborator

@justschen justschen commented May 19, 2026

Screen.Recording.2026-05-19.at.4.53.25.PM.mov
Screen.Recording.2026-05-19.at.4.55.04.PM.mov

cc @meganrogge @anthonykim1

Copilot AI review requested due to automatic review settings May 19, 2026 22:59
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR improves the chat UI for terminal tool invocations by replacing the standard “running” icon with a lightweight dot-matrix spinner animation in the command decoration area, and adjusting related progress/spinner visuals to avoid redundant indicators.

Changes:

  • Add a dot-matrix spinner animation for terminal command decorations while a tool invocation is running.
  • Update terminal tool progress rendering to react to invocation state changes (so the decoration updates live).
  • Hide the generic in-thinking “working” spinner when an in-progress terminal tool is present, and hide the progress-row icon for terminal tool progress rows.
Show a summary per file
File Description
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.ts Adds running-state detection and a dot-matrix spinner implementation for terminal command decorations; wires decoration updates to tool invocation state changes.
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css Styles the dot-matrix spinner and hides the progress-row leading icon for terminal tool rows.
src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.ts Updates thinking UI to temporarily remove the bottom “working” spinner when a terminal tool invocation is actively running.

Copilot's findings

  • Files reviewed: 3/3 changed files
  • Comments generated: 2

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
class TerminalCommandDecoration extends Disposable {
// 2x3 dot matrix: stagger each row left->right while building bottom->top,
// then stagger each row left->right while removing bottom->top.
private static readonly _spinnerFrames = [
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.

whoa fancy

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

yaur it let's us create our indices to be rendered in that order. we can manipulate it how we see fit as well if we want it to be faster, slower, or some other kind of animation.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

swapped to using pure CSS which is a little safer. using the animation matrix drives the animation solely from TS, but we can do the same from CSS which is a bit easier to understand

@justschen justschen marked this pull request as ready for review May 19, 2026 23:40
@justschen justschen marked this pull request as draft May 19, 2026 23:42
anthonykim1
anthonykim1 previously approved these changes May 19, 2026
@anthonykim1
Copy link
Copy Markdown
Contributor

/cc @meganrogge

@justschen justschen marked this pull request as ready for review May 19, 2026 23:51
@justschen justschen enabled auto-merge (squash) May 19, 2026 23:52
@justschen justschen merged commit cf238f6 into main May 20, 2026
25 checks passed
@justschen justschen deleted the justin/oricorio-baile branch May 20, 2026 00:30
@vs-code-engineering vs-code-engineering Bot added this to the 1.122.0 milestone May 20, 2026
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.

3 participants