Commit graph

137 commits

Author SHA1 Message Date
Matt Rubens
df46f60117 Power steering 2025-02-21 19:45:29 -05:00
Matt Rubens
68aee001fc Skip flaky tests and suppress logging to get back to clean output 2025-02-21 17:51:48 -05:00
Matt Rubens
0855159f70 Setting for the max number of open tabs to include in context 2025-02-13 22:23:20 -05:00
cte
90b019f55c Shadow git checkpoints 2025-02-12 13:17:43 -08:00
cte
6119cb1aaf Update comment 2025-02-11 12:48:19 -08:00
cte
901adc580f Fix file revert on abort 2025-02-11 12:44:32 -08:00
cte
d8960788b4 Store initial checkpoint 2025-02-11 11:10:47 -08:00
cte
68ea2e8588 Checkpoints logging tweaks 2025-02-11 10:14:36 -08:00
Matt Rubens
a3bb0edeae
Merge pull request #942 from RooVetGit/fix_retry_delay_bugs
Fix logic error in retry delays
2025-02-11 11:31:28 -05:00
Matt Rubens
052903bfb5 Fix logic error in retry delays 2025-02-11 11:19:51 -05:00
Matt Rubens
85768097d7 Bring back checkpoints on Windows 2025-02-11 10:25:50 -05:00
cte
f447356d81 Disable checkpoints on Windows 2025-02-09 23:53:47 -08:00
cte
59ddaa9f00 Current checkpoint indicator 2025-02-08 01:07:31 -08:00
cte
121f3ab7fa Checkpoint service integration 2025-02-07 22:27:27 -08: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
6770f0410c Merge remote-tracking branch 'origin/main' into truncation-updates 2025-02-02 01:23:59 -05:00
sam hoang
f906755d90 feat: add setting to enable/disable MCP server creation
- Add enableMcpServerCreation setting to control whether MCP server creation is allowed
- Add UI toggle in settings view for this feature
- Update system prompt to conditionally include MCP server creation documentation
- Add tests for new functionality
2025-02-01 09:34:53 +07:00
Matt Rubens
9aeb498f99 Add optional rate limiting between API calls 2025-01-31 16:44:32 -05:00
Nissa Seru
d154d059a6 Enable separate config for truncation for models without context caching 2025-01-31 06:17:20 -05:00
Matt Rubens
81a5e805b2
Merge pull request #638 from napter/approval-feedback
Allow the user to send context with approval or rejection
2025-01-30 23:36:43 -05:00
Matt Rubens
e10004d865 Use an exponential delay for API retries 2025-01-30 11:46:26 -05:00
Nathan Apter
3aa5b3f9be Allow the user to send context with approval or rejection 2025-01-29 15:28:46 -05:00
Matt Rubens
13de490c3b Add a new_task tool 2025-01-29 10:56:44 -05:00
Matt Rubens
93f43bea43 More renaming 2025-01-28 15:24:45 -05:00
Matt Rubens
b17f435e56 Merge remote-tracking branch 'origin/main' into v3.3.5 2025-01-28 14:41:07 -05:00
Matt Rubens
d836548c19 insert_code_block -> insert_content 2025-01-28 14:36:12 -05:00
MFPires
ea6dc7c16e feat(ui): add context window percentage to task header
Display the percentage of total context window used alongside token count in the task header. This helps users better understand their context usage relative to the model's capacity.

Implementation details:
- Retrieve model's context window size from normalized API configuration
- Calculate percentage of context window used based on current context tokens
- Display percentage in parentheses next to token count (e.g. "40,000 (20%)")
- Default to context window size of 1 if model info is unavailable
- Format numbers with commas for better readability
2025-01-28 16:33:06 -03:00
MFPires
f7cf08c607 feat: Add context tokens to environment details
Adds the current conversation's context token count to the environment details section by:
- Using existing getApiMetrics() to retrieve contextTokens from the last API request
- Adding a new "Context Tokens" section between "Current Time" and "Current Mode"
- Formatting the token count with toLocaleString() for better readability
- Showing "(Not available)" when no context tokens are present

This provides visibility into the current conversation's token usage directly in the environment details, helping track context window utilization.
2025-01-28 15:49:36 -03:00
Matt Rubens
f2ac56917c
Merge pull request #538 from samhvw8/feat/insert_and_search_replace_tools
New Roo Tool insert and search replace tools
2025-01-28 11:23:06 -05:00
Matt Rubens
50eb2e2c93
Merge pull request #617 from RooVetGit/mode_switch_delay
Add a delay to allow auto approved mode changes to take effect
2025-01-28 11:21:57 -05:00
Matt Rubens
bd0a613be1 Add a delay to allow auto approved mode changes to take effect 2025-01-28 11:11:28 -05:00
sam hoang
003bb5cabc fix diffview for search-and-replace tool and insert tool 2025-01-28 22:13:51 +07:00
sam hoang
411182a5d9 fix error in search and replace, update rule to utilize multiple operation 2025-01-28 21:06:38 +07:00
sam hoang
3ed8540eba refactor(experiments): improve type safety for experiment configuration
Change ExperimentId type to be value-based rather than key-based
Make experiment record types more strict with proper typing
Pass full experiment config object instead of single boolean flag
Update type definitions and usages across codebase
2025-01-28 21:06:35 +07:00
sam hoang
ad552ea026 feat: implement experimental features system
- Add experiments.ts to manage experimental features
- Refactor experimental diff strategy into experiments system
- Add UI components for managing experimental features
- Add tests for experimental tools
- Update system prompts to handle experiments
2025-01-28 21:06:33 +07:00
Matt Rubens
2c97b59ed1 Checkpoint on insert and search/replace tools 2025-01-28 21:05:44 +07:00
Piotr Rogowski
cb23be6346 Extend deepseek-r1 support 2025-01-27 21:27:24 +01:00
Matt Rubens
5d20477785 Throw FileRestrictionErrors sooner 2025-01-26 02:44:59 -05:00
Piotr Rogowski
c6607065b9 Add support for displaying reasoning for openrouter models 2025-01-26 02:11:56 +01:00
Matt Rubens
8c929ba16a Do a more complete mode switch from switch_mode command 2025-01-24 23:04:57 -05:00
Matt Rubens
7c41a9cbf8
Merge pull request #526 from RooVetGit/switch_mode_tool
Add a tool to switch modes
2025-01-24 12:50:57 -05:00
Matt Rubens
5f8a8887fb Validation fixes 2025-01-24 12:46:10 -05:00
Matt Rubens
d1754cace0 Add a tool to switch modes 2025-01-24 03:05:03 -05:00
sam hoang
f86e96d157 refactor: separate mode and support prompts
- Rename customPrompts to customModePrompts for mode-specific prompts
- Add new customSupportPrompts type for support action prompts
- Update types to be more specific (CustomModePrompts and CustomSupportPrompts)
- Fix all related tests and component implementations
2025-01-24 01:46:33 +07:00
Matt Rubens
b8e2dac2b9 Only allow usage of diff tool if enabled in settings 2025-01-21 18:35:14 -05:00
Matt Rubens
8bbb64d27f Fix language selector 2025-01-21 15:39:59 -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
72fe12d096 Refactor modes 2025-01-17 10:03:23 -05:00
Daniel Riccio
3ce2e0c6bf feat: update diff strategy dynamically
- Added `updateDiffStrategy` method to dynamically adjust the diff strategy based on the current state and experimental settings.
- Updated ClineProvider to call `updateDiffStrategy` when the experimental diff strategy is modified, ensuring real-time updates in the Cline instance.
2025-01-16 17:13:25 -05:00