-
Notifications
You must be signed in to change notification settings - Fork 2.8k
feat: add "Agent is working" indicator to sidebar icon #10627
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
This implements the "Agent is working" indicator feature for the Roo Code sidebar icon using VSCode's withProgress API with a view-specific location. The indicator shows a spinning progress icon when a task is actively processing. Key changes: - New ActivityIndicator class managing progress indicator state - Integration with ClineProvider task lifecycle events - Comprehensive unit tests (12 tests passing) Closes #10625
Review complete. No issues found. This commit correctly reverts the unsupported tooltip ( Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues. |
|
I can confirm that with this branch I can see the progress indicating badge, however it's not well implemented. |
Fixed the activity indicator triggers. The issue was that |
The activity indicator was only showing when transitioning from an idle state back to active (TaskActive event), but TaskActive was not emitted when a task first started - it was only emitted after the user responded to an ask after the task went idle. This fix shows the activity indicator when TaskStarted fires, which happens when the task loop begins. This ensures the indicator shows immediately when the user starts a task or the agent begins processing.
|
I've tested again and can confirm that indeed starting a task now triggers the progress icon, fantastic. Scenarios testes
Found problemsI've noticed two small potential issues (however, I'd consider them to be "non-blockers"):
|
Added tooltip text "Roo is working..." to the activity indicator. All local checks passed. Regarding the transition flicker during orchestrator subtask transitions: this would require changes to the task lifecycle management to prevent hiding the indicator during delegation. Since it's described as a non-blocker and only visible briefly, the change is deferred. |
Adds "Roo is working..." tooltip text to the progress indicator on the sidebar icon. This provides accessible context when hovering over the progress indicator. Also adds a test to verify the tooltip text is included in the progress options.
|
Right, I've tested the tooltip change, and it does not work - no tooltip is present. Looking at the extensions API, I suspect this is unfortunately not supported, therefore should be reverted. |
Reverted the unsupported tooltip feature. All local checks passed. |
The VSCode extensions API does not support tooltips for withProgress view indicators. Confirmed by manual testing that the title property has no visible effect.
|
Ok, the PR still works as previously tested. I'm happy with the results, so now I'll wait for the maintainers response on this. |
Thanks for the confirmation! No issues were identified that need fixing. The PR reviewer also confirmed "Review complete. No issues found." The PR is ready for maintainer review. |
Related GitHub Issue
Closes: #10625
Description
This PR attempts to address Issue #10625 by implementing the "Agent is working" activity indicator for the Roo Code sidebar icon.
Based on the feedback from @mdziekon, I investigated VSCode's internal activity interfaces (
BaseBadge,IconBadge,ProgressBadge) and discovered that while these are not directly exposed to extensions, VSCode'svscode.window.withProgressAPI with a view-specific location ({ viewId: "..." }) CAN show a spinning progress indicator on the activity bar icon. This provides much better UX than a numeric badge.Key implementation details:
ActivityIndicatorclass insrc/core/webview/ActivityIndicator.tsthat manages the progress indicator statevscode.window.withProgresswithlocation: { viewId }to show progress on the sidebar iconClineProvidertask lifecycle events:onTaskActiveshows the indicatoronTaskIdle,onTaskCompleted,onTaskAbortedhide the indicatorshow()starts an indeterminate progress that continues untilhide()resolves the promiseTest Procedure
Unit tests added: 12 new tests in
src/core/webview/__tests__/ActivityIndicator.spec.tscd src && npx vitest run core/webview/__tests__/ActivityIndicator.spec.tsExisting tests verified: ClineProvider tests still pass
cd src && npx vitest run core/webview/__tests__/ClineProvider.spec.tsManual testing: Start a task in Roo Code and observe the spinning progress indicator on the sidebar icon
Pre-Submission Checklist
Documentation Updates
Additional Notes
This implementation follows the suggestion from @mdziekon to investigate VSCode's activity interfaces. The
withProgressAPI provides a native VSCode experience with the familiar spinning indicator, making it clear to users when the agent is actively working.Feedback and guidance are welcome!
Important
Adds
ActivityIndicatorto show a progress indicator on the sidebar icon during task activity, integrated withClineProviderand tested with new unit tests.ActivityIndicatorclass inActivityIndicator.tsto manage sidebar icon progress indicator usingvscode.window.withProgress.ActivityIndicatorwithClineProviderinClineProvider.tsto show/hide indicator on task lifecycle events (onTaskActive,onTaskIdle,onTaskCompleted,onTaskAborted).ActivityIndicator.spec.tsto testshow(),hide(),isActive(), anddispose()methods.ClineProvidertests still pass.This description was created by
for 8ff6355. You can customize this summary. It will automatically update as commits are pushed.