Commit graph

23 commits

Author SHA1 Message Date
aheizi
c201baa4d1 fix mcp connection 2025-03-17 12:05:23 +08:00
aheizi
26941dcaae switch the toasts to English
fix test
2025-03-15 18:39:39 +08:00
aheizi
f77606996f Merge branch 'main' into support_project_mcp 2025-03-14 20:59:21 +08:00
aheizi
5d8a456374 Merge branch 'main' into support_project_mcp 2025-03-14 20:48:47 +08:00
Matt Rubens
b29f94ae65
Revert "feat: add sse mcp support" 2025-03-13 13:00:32 -04:00
aheizi
4106ca4a19 support project-level mcp config 2025-03-13 21:07:24 +08:00
aheizi
505f86d75c replace eventsource with reconnecting-eventsource to optimize the code. 2025-03-12 19:25:50 +08:00
aheizi
5e788fc5f1 remove rejectUnauthorized 2025-03-12 01:11:22 +08:00
aheizi
f13d28ad45 simpler way of setting up 2025-03-11 00:50:27 +08:00
aheizi
f9a1cd0b52 add sseOptions 2025-03-10 12:36:46 +08:00
aheizi
b4f808d7dc fix ut 2025-03-09 01:26:10 +08:00
aheizi
549b06f46d feat: add sse mcp support 2025-03-09 00:15:23 +08:00
Chris Estreich
159621cea6 Move & clean up model fetchers 2025-02-25 11:35:24 -08:00
Roo Code
bfa73fb69d Does that work? 2025-02-18 21:16:16 -07:00
MuriloFP
0bb6112257 fix: ensure disabled MCP servers appear in settings UI
When the MCP server was initialized before opening RooCode, disabled servers
would not appear in the settings UI. This was fixed by:

1. Using getAllServers() instead of getServers() in ClineProvider.ts for UI
   state updates, ensuring all servers (including disabled ones) are shown
2. Maintaining getServers() for operational use (AI prompts, tool calls)
   where disabled servers should be filtered out

The fix maintains clean separation between UI display and operational
server filtering.
2025-02-09 19:15:01 -03:00
MuriloFP
c9be470319 fix: prevent race conditions in McpServerManager singleton initialization
Added thread-safe initialization to the McpServerManager singleton pattern to
prevent potential race conditions when getInstance is called concurrently.
The changes include:

1. Added initializationPromise to track ongoing initialization
2. Implemented double-checked locking pattern:
   - First check: Return existing instance if available
   - Second check: Wait for any ongoing initialization
   - Third check: Double-check inside initialization block
3. Added proper cleanup in finally block to prevent deadlocks

This ensures that:
- Only one McpHub instance is ever created
- Concurrent calls wait for initialization to complete
- Resources are properly initialized and cleaned up
- No memory leaks from incomplete initialization

The fix maintains the existing functionality while making it safe for
concurrent access in VS Code's multi-window environment.
2025-02-07 17:12:39 -03:00
MuriloFP
b2b5e1ffa6 fix: Implement singleton pattern for MCP server management to prevent multiple instances
Problem:
- Multiple instances of the Roo Code application were launching separate MCP server instances
- This led to unnecessary resource consumption and potential conflicts between instances

Solution:
1. Created new McpServerManager singleton class to manage MCP server instances:
   - Static getInstance() method ensures only one McpHub instance exists
   - Tracks registered ClineProvider instances
   - Handles cleanup on extension deactivation

2. Modified ClineProvider class:
   - Changed mcpHub from private to protected
   - Added getMcpHub() public getter method
   - Updated initialization to use McpServerManager
   - Added unregister logic in dispose()

3. Updated extension.ts to handle cleanup:
   - Added McpServerManager cleanup in deactivate()

Technical Implementation:
- Uses WeakRef for provider tracking to allow proper garbage collection
- Maintains global state to track instance IDs
- Implements proper cleanup of resources on disposal
- Ensures backward compatibility with existing code

This change significantly improves resource usage and prevents potential conflicts
between multiple instances of the application while maintaining all existing
functionality.
2025-02-07 15:51:30 -03:00
Matt Rubens
57518e10b3 Add per-server MCP network timeout configuration 2025-01-26 22:49:21 -05:00
Matt Rubens
b8e0aa0cde Custom modes 2025-01-21 09:39:54 -05:00
Matt Rubens
60a0a824b9 Prettier backfill 2025-01-17 14:11:28 -05:00
Matt Rubens
3d7ff32406 Allow enabling/disabling of MCP servers 2024-12-14 01:39:25 -05:00
Matt Rubens
1346f1280c MCP checkbox for always allow 2024-12-13 16:14:13 -05:00
Matt Rubens
be3d8a6166
Incorporate MCP changes (#93)
Co-authored-by: Saoud Rizwan <7799382+saoudrizwan@users.noreply.github.com>
2024-12-12 23:16:39 -05:00