-
Notifications
You must be signed in to change notification settings - Fork 34.5k
Integrate chat session monitoring into existing Copilot status bar dashboard with performance optimizations #262221
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
Co-authored-by: osortega <[email protected]>
Co-authored-by: osortega <[email protected]>
@copilot Is there a way to avoid calling the provider again to get the list of all the chat session items? We already call |
You're absolutely right! Currently both the status bar entry and the tree view make separate calls to |
…edundant provider calls Co-authored-by: osortega <[email protected]>
Co-authored-by: osortega <[email protected]>
@osortega rather than being a separate status bar entry, can we think about the bigger picture here and marry this with the 🤖 entry we already have? That one allows to add additional UI elements into the rich hover and we can talk about allowing to update its text too. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
…separate status bar entry Co-authored-by: osortega <[email protected]>
Done! I've integrated the running chat sessions into the existing ChatStatusDashboard instead of creating a separate status bar entry. The sessions now appear in the Copilot status bar hover tooltip under a "Running Sessions" section with spinning icons and session details. This provides a cleaner UI with all Copilot-related information in one place. See the change in commit 28dc259. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
This PR integrates in-progress chat session monitoring into the existing Copilot status bar entry's hover dashboard, providing users with a unified view of all Copilot-related information while optimizing performance through intelligent caching.
Problem
Users currently have no visual indication of chat sessions that are actively processing in the background. Additionally, multiple UI components were making separate calls to chat session providers, leading to redundant operations and performance issues.
Solution
Integrated Dashboard Approach: Instead of adding a separate status bar entry, running chat sessions are now displayed within the existing 🤖 Copilot status bar entry's hover tooltip. This provides a cleaner, more unified user experience.
Running Sessions Section: The dashboard now includes a dedicated "Running Sessions" section that shows:
Performance Optimization: Added intelligent 5-second caching to
ChatSessionsService.provideChatSessionItems
that:onDidChangeChatSessionItems
eventsImplementation Details
ChatStatusDashboard
inchatStatus.ts
to include running sessions alongside existing quota and settings informationChatSessionsStatusBarEntry
to avoid UI clutter while preserving all functionalityUser Experience
Users now get a comprehensive view of all Copilot-related information in a single, well-organized hover tooltip. This makes it easier to monitor chat session progress, manage quotas, and adjust settings all from one central location.
Files modified:
src/vs/workbench/contrib/chat/browser/chatStatus.ts
- Extended dashboard with running sessions sectionsrc/vs/workbench/contrib/chat/browser/chat.contribution.ts
- Removed separate status bar entry registrationsrc/vs/workbench/contrib/chat/browser/chatSessions.contribution.ts
- Added caching to ChatSessionsServicesrc/vs/workbench/contrib/chat/browser/media/chatStatus.css
- Added styles for session itemsFiles removed:
src/vs/workbench/contrib/chat/browser/chatSessionsStatusBarEntry.ts
- No longer neededsrc/vs/workbench/contrib/chat/test/browser/chatSessionsStatusBarEntry.test.ts
- No longer needed💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.