Commit graph

5236 commits

Author SHA1 Message Date
Hannes Rudolph
30cf0d5319
Update HistoryPreview.tsx
Added a copy button to the history preview view
2025-02-07 15:50:28 -07:00
Roo Code
85dacb03a3 Better UX for adding new API config profiles 2025-02-07 16:23:27 -05:00
Chris Estreich
14d7691ded
Merge pull request #831 from RooVetGit/cte/improve-model-picker
Model picker improvements
2025-02-07 12:28:50 -08:00
Roo Code
0bc9e17c1a Better model picker 2025-02-07 12:25:52 -08: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
ef95562dfe fix: ensure MCP server list appears in settings when server starts first
When the MCP server was initialized before opening RooCode, the server list
would not appear in the settings. This was fixed by:

1. Adding proper server list initialization in ClineProvider.ts when the
   webview launches, checking if mcpHub exists and sending its current
   servers to the webview:

   ```typescript
   if (this.mcpHub) {
     this.postMessageToWebview({
       type: "mcpServers",
       mcpServers: this.mcpHub.getServers()
     })
   }
   ```

2. Using the public getServers() method from McpHub instead of relying on
   internal state updates, ensuring consistent server list state across
   the application.

The fix maintains clean separation of concerns and follows existing patterns
for state management between the extension and webview.
2025-02-07 16:57:21 -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
Pugazhendhi
4c8577c8a2 Reads unbound model ID from configuration 2025-02-07 19:41:09 +05:30
Pugazhendhi
64a579e965 Fixes default model in test file 2025-02-07 19:31:36 +05:30
Pugazhendhi
ddc6b9c63f Changed default model to sonnet 3.5 2025-02-07 18:57:58 +05:30
Matt Rubens
c641c59160
Merge pull request #846 from RooVetGit/cte/catch-openai-provider-error
Prevent *all* provider clients from throwing
2025-02-07 07:55:40 -05:00
Roo Code
4b3ea07033 Prevent provider client instantiations from throwing 2025-02-07 03:06:01 -08:00
Pugazhendhi
7710df85f5 Fixed warnings 2025-02-07 16:31:32 +05:30
Pugazhendhi
1268db59a3 Fixes imports 2025-02-07 14:08:31 +05:30
Pugazhendhi
01be0389ee Fixed indentation 2025-02-07 14:06:57 +05:30
Pugazhendhi
e0417e99f8 Fixed indentation 2025-02-07 14:05:56 +05:30
Pugazhendhi
5955c01ce8 Removed AutoApproveMenu.test.tsx 2025-02-07 14:05:08 +05:30
pugazhendhi-m
26baaf89a3
Merge branch 'main' into WEB-1756 2025-02-07 13:02:46 +05:30
Matt Rubens
c14de4f232
Merge pull request #845 from RooVetGit/mrubens-patch-4
Update CHANGELOG.md
2025-02-07 01:32:18 -05:00
Matt Rubens
483feabb15
Update CHANGELOG.md
Oops, left out a few things in 3.3.12. Sorry!
2025-02-07 01:10:05 -05:00
Hannes Rudolph
4fe2eefeb9
Update McpView.tsx
Moved the restart button to the top
2025-02-06 21:22:07 -07:00
Matt Rubens
003d4e43a6
Merge pull request #837 from RooVetGit/mrubens-patch-4
Update CHANGELOG.md
2025-02-06 23:14:31 -05:00
Matt Rubens
9b4a9391ee
Update CHANGELOG.md 2025-02-06 23:03:25 -05:00
Chris Estreich
5622272e75
Merge pull request #829 from RooVetGit/cte/shadcn-combobox
Add `@shadcn/ui` components required for the combobox
2025-02-06 16:13:12 -08:00
Roo Code
f05dd88369 Add Storybook story 2025-02-06 16:07:48 -08:00
Roo Code
4a1f5b96bc Add @shadcn/ui components required for the combobox 2025-02-06 15:06:16 -08:00
Matt Rubens
1d85424320
Merge pull request #828 from hannesrudolph/patch-3
Update README.md
2025-02-06 17:25:14 -05:00
Hannes Rudolph
3a058aa90f
Update README.md
Removed the badges for now
2025-02-06 15:24:16 -07:00
Matt Rubens
593afaccc1
Merge pull request #825 from hannesrudolph/patch-2
Fixed rate limited by upstream error
2025-02-06 17:01:53 -05:00
Hannes Rudolph
c0a61065b1
Fixed rate limited by upstream error 2025-02-06 13:48:47 -07:00
Chris Estreich
1c87cf3ba4
Merge pull request #823 from RooVetGit/cte/partially-reapply-00ec57a
Re-apply part of 00ec57a, npm script changes omitted
2025-02-06 08:58:35 -08:00
Chris Estreich
29773377fe
Merge pull request #822 from RooVetGit/cte/ensure-vsix-correctly-built
Validate vsix in publish GHA
2025-02-06 08:57:51 -08:00
cte
36dd8c9ce4 PR feedback 2025-02-06 08:53:21 -08:00
cte
5c55515959 Re-apply part of 00ec57a, npm script changes omitted 2025-02-06 08:51:34 -08:00
cte
327e764d85 Validate vsix in publish GHA 2025-02-06 08:38:31 -08:00
Matt Rubens
92561aae5b
Merge pull request #820 from RooVetGit/changeset-release/main
Changeset version bump
2025-02-06 09:52:27 -05:00
Matt Rubens
70d9ba2fbd
Update CHANGELOG.md 2025-02-06 09:52:13 -05:00
R00-B0T
c095f0cec9 Updating CHANGELOG.md format 2025-02-06 14:51:26 +00:00
github-actions[bot]
0715b1e5b0 changeset version bump 2025-02-06 14:50:40 +00:00
Matt Rubens
d6c5eba6e7
Merge pull request #819 from RooVetGit/3.3.14
3.3.14
2025-02-06 09:49:49 -05:00
Matt Rubens
ada9c4bfb5 Changeset 2025-02-06 09:48:43 -05:00
Matt Rubens
c0306e3e8e Revert "Merge pull request #799 from RooVetGit/cte/package-json-cleanup"
This reverts commit 00ec57afee, reversing
changes made to b83442e899.
2025-02-06 09:48:06 -05:00
Matt Rubens
56a7b8f73f
Merge pull request #818 from RooVetGit/changeset-release/main
Changeset version bump
2025-02-06 09:18:17 -05:00
Matt Rubens
aaedd15652
Update CHANGELOG.md 2025-02-06 09:14:44 -05:00
Matt Rubens
fa0823a0ee
Update CHANGELOG.md 2025-02-06 09:13:49 -05:00
R00-B0T
1cbaccd7f5 Updating CHANGELOG.md format 2025-02-06 14:11:19 +00:00
github-actions[bot]
a2d57cb0bb changeset version bump 2025-02-06 14:10:44 +00:00
Matt Rubens
2dc3939dfe
Merge pull request #817 from RooVetGit/v3.3.13
v3.3.13
2025-02-06 09:09:58 -05:00
Matt Rubens
96a3e6e24c v3.3.13 2025-02-06 09:09:11 -05:00
Matt Rubens
8f410b7bbf
Merge pull request #812 from RooVetGit/cte/catch-openai-handler-exception
Don't throw when `openAiBaseUrl` is not a valid URL
2025-02-06 07:42:38 -05:00