mirror of
https://github.com/RooVetGit/Roo-Code.git
synced 2026-08-28 05:27:24 +00:00
231 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b6c8e30875 |
feat: add auto-close Roo tabs feature
- Add autoCloseRooTabs and autoCloseAllRooTabs settings to global settings schema - Create PostEditBehaviorUtils class to handle tab closing logic - Implement tab tracking in DiffViewProvider to track opened files - Add FileEditingOptions component to settings UI - Add message handlers for the new settings - Update ExtensionState and WebviewMessage types - Add translation keys for the new UI section - Add comprehensive tests for PostEditBehaviorUtils and FileEditingOptions Closes #6003 |
||
|
|
37300ef0c5
|
fix: add character limit to prevent terminal output context explosion (#5777)
* fix: add character limit to prevent terminal output context explosion - Enhanced truncateOutput function to accept character limits alongside line limits - Character limits take priority over line limits to prevent context window explosion - Added terminalOutputCharacterLimit setting (default: 100,000 characters) - Updated all terminal output processing to use both limits - Added comprehensive tests for character limit functionality Fixes #5775 * feat: add terminal output character limit setting to UI - Add character limit slider to Terminal Settings UI (default: 50,000) - Update ExtensionStateContext to manage character limit state - Add validation for positive character limit values - Add English translation and translations for all 17 supported languages - Connect UI to backend through proper message handling - Character limit takes precedence over line limit to prevent memory issues * fix: update test expectations for character limit edge cases - Fix multi-byte character test to account for JavaScript's string length behavior - Fix newline content test to match actual slice behavior - Tests now correctly validate the truncateOutput function's character limit handling --------- Co-authored-by: Roo Code <roomote@roocode.com> Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com> |
||
|
|
b6bded9818
|
feat: add configurable delay for Go diagnostics to prevent premature error reporting (#5863)
* feat: add configurable delay for Go diagnostics to prevent premature error reporting - Add diagnosticsDelayMs setting (default: 2000ms) to allow linters time to process - Add diagnosticsEnabled setting to optionally disable diagnostic checking entirely - Update DiffViewProvider.saveChanges() to use configurable delay before checking diagnostics - Update all tool files (writeToFile, searchAndReplace, insertContent, applyDiff, multiApplyDiff) to pass diagnostic settings - Add comprehensive tests for new diagnostic functionality - Fixes issue where Go diagnostics errors were submitted to LLM before linter could clean up unused imports Resolves #5859 * fix: add missing TypeScript type definitions for diagnostic settings - Add diagnosticsDelayMs and diagnosticsEnabled to globalSettingsSchema - Include properties in ExtensionState Pick type - Add default values to EVALS_SETTINGS - Fix VSCode mock to include DiagnosticSeverity for tests - Resolves compilation errors in ClineProvider and webviewMessageHandler * fix: update test mocks to support diagnostic settings in tool tests - Add providerRef mock to insertContentTool and writeToFileTool tests - Update mocks to include diagnosticsEnabled and diagnosticsDelayMs settings - Fix test expectations to match new implementation with diagnostic configuration - Resolves failing unit tests for insertContentTool.spec.ts and writeToFileTool.spec.ts * fix: remove package-lock.json file (project uses pnpm) * refactor: use existing writeDelayMs instead of diagnosticsDelayMs - Remove diagnosticsDelayMs setting in favor of existing writeDelayMs - Add min(0) validation for writeDelayMs in global settings schema - Add error handling around delay function calls in DiffViewProvider - Create DEFAULT_WRITE_DELAY_MS constant (1000ms) to replace repeated defaults - Update all tool files to pass writeDelayMs instead of diagnosticsDelayMs - Remove diagnosticsDelayMs from webview message handlers and types - Update test files to use writeDelayMs instead of diagnosticsDelayMs This refactoring consolidates diagnostic delay functionality to use the existing writeDelayMs setting as requested in PR feedback. * fix: resolve failing unit tests and TypeScript compilation errors - Fix DiffViewProvider test to expect correct default delay (1000ms instead of 2000ms) - Fix TypeScript type errors in ClineProvider test mock state object - Correct terminalPowershellCounter and terminalZdotdir types to boolean - Fix pinnedApiConfigs type from array to Record<string, boolean> * fix: remove unrelated changes from ClineProvider.spec.ts - Removed extensive unrelated property additions to mock state - Kept only diagnosticsEnabled property which is related to Go diagnostics delay feature - Removed unused DEFAULT_WRITE_DELAY_MS import - Restored original structure and organization of mock state object This addresses the feedback to remove unrelated changes while preserving the necessary diagnostic functionality for the Go diagnostics delay feature. * refactor: move DEFAULT_WRITE_DELAY_MS to packages/types/src/global-settings.ts - Move DEFAULT_WRITE_DELAY_MS constant from src/shared/constants.ts to packages/types/src/global-settings.ts - Update all import statements in affected files to use @roo-code/types - Delete src/shared/constants.ts file as it is no longer needed - Files updated: - src/integrations/editor/DiffViewProvider.ts - src/core/webview/ClineProvider.ts - src/core/tools/multiApplyDiffTool.ts - src/core/tools/applyDiffTool.ts - src/core/tools/searchAndReplaceTool.ts - src/core/tools/insertContentTool.ts - src/core/tools/writeToFileTool.ts --------- Co-authored-by: Roo Code <roomote@roocode.com> |
||
|
|
fb374b3e94
|
Message edit/delete overhaul (#5538)
* improved chat row first pass * big UI improvements * working functionality * tests working * ok finally tests working for real! * translations * add back hidden flag * remove option to skip notif * fixed image issue * ui fix * put back edit flag * oops test fix * reduce margins * code review |
||
|
|
cdacdfd54b
|
Add a command denylist (#5614)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> |
||
|
|
0ecae9d4f1
|
fix: exclude cache tokens from context window calculation (#5603)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> |
||
|
|
7645aad435
|
add todo tool (#5182)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> |
||
|
|
e508eaf3df
|
Fix code index secret persistence and improve settings UX (#5158)
* Fix code index secret persistence with async VSCode storage - Add async secret methods to CodeIndexConfigManager - Implement direct VSCode secret storage access bypassing ContextProxy cache - Update loadConfiguration to use async secret loading - Modify webview message handler to use new async secret storage - Add public secret methods to CodeIndexManager - Enhance debugging throughout secret flow This fixes the issue where API keys were saved but not loaded immediately into services due to ContextProxy cache synchronization issues. * Fix code index secret persistence and test failures - Add async secret handling to CodeIndexConfigManager with new methods: - getSecretAsync(), storeSecretAsync() for individual secrets - loadSecretsAsync(), storeSecretsAsync() for batch operations - Update doesConfigChangeRequireRestart() to check OpenAI Compatible modelDimension changes - Fix all failing tests by using setupSecretMocks() helper consistently - Update manager.spec.ts to properly mock _recreateServices to avoid real service creation This ensures API keys and other secrets are properly loaded from VSCode's async secret storage and that configuration changes requiring service restart are correctly detected. * feat: improve code index settings secret handling in UI - Show placeholder dots (••••••••••••••••) in password fields when secrets are already set - Only send modified secret fields to prevent overwriting existing secrets with empty values - Track which fields have been modified by the user - Add requestCodeIndexSecretStatus message handler to check if secrets exist - Fix console.log to handle empty string keys without errors - Ensure changing one setting doesn't clear other unmodified secrets * refactor: disconnect code index from unified settings system - Rename handleExternalSettingsChange to handleSettingsChange for clarity - Remove handleSettingsChange call from ClineProvider (not related to code index) - Remove codebaseIndexConfig from general settings save in SettingsView - Delete unused codebaseIndexConfig message handler - Remove codebaseIndexConfig from WebviewMessage type definition - Code index settings are now fully independent with their own dedicated UI * feat: separate code index enable/disable from indexing settings - Move 'Enable codebase indexing' toggle to global settings in Experimental section - Keep indexing-specific settings (API keys, URLs, models) in dedicated Code Index Settings component - Add codebaseIndexEnabled handler to webview message handler - Update translations with new settings title and disabled message - Ensure code index service properly responds to enable/disable changes - Maintain backward compatibility with existing codebaseIndexConfig structure * refactor: remove ContextProxy.getVSCodeContext() and pass ExtensionContext directly - Updated CodeIndexConfigManager to accept vscode.ExtensionContext in constructor - Modified CodeIndexManager to pass context directly to CodeIndexConfigManager - Updated webviewMessageHandler to use provider.context.secrets directly - Removed getVSCodeContext() method from ContextProxy - Updated all related tests to reflect these changes - Fixed CodeIndexSettings webview tests after UI changes * refactor: streamline secret handling by removing async methods and utilizing ContextProxy directly * feat: translations and popover component * refactor: simplify test mocks and improve checkbox handling in CodeIndexSettings tests * refactor: remove debug logging from CodeIndexConfigManager, CodeIndexManager, CodeIndexServiceFactory, and QdrantVectorStore * fix: merge missing translation keys from main after rebase - Add advancedConfigLabel, searchMinScoreLabel, searchMinScoreDescription, searchMinScoreResetTooltip keys - Update startIndexingButton and clearIndexDataButton labels to match main - Preserve all CodeIndexPopover translations added in this PR * Revert "fix: merge missing translation keys from main after rebase" This reverts commit beb1de4924ac1475731fcd06d994ddb96eb1e5fd. * fix: add missing translation keys from main branch after rebase - Added codeIndex.advancedConfigLabel - Added codeIndex.searchMinScoreLabel - Added codeIndex.searchMinScoreDescription - Added codeIndex.searchMinScoreResetTooltip These keys exist on main but were missing from non-English locales after rebase. * fix: remove clickIndicatorMessage, fix toggle message type, and clean up translation key inconsistencies * refactor: streamline settings management in CodeIndexPopover and improve secret handling * refactor: remove debug logging from configuration checks in CodeIndexConfigManager and webviewMessageHandler * fix: translations * refactor: remove CodeIndexSettings component and associated tests |
||
|
|
329690cf54
|
feat: Delete .roo/rules-{mode} folder when custom mode is deleted (#5210) (#5317)
* feat: Add folder deletion when custom mode is deleted (#5210) * fix: address PR feedback - fix Korean translation typo and add missing German translation * fix: use os.homedir() instead of vscode.env.userHome * fix: use dynamic home directory in webview tests for cross-platform compatibility * fix: normalize path separators in tests for Windows compatibility * feat: implement DeleteModeDialog component for mode deletion confirmation * fix: use ref to store current modeToDelete value for consistent state handling * feat: add error handling for rules folder deletion and localize error messages * Update src/i18n/locales/ja/common.json Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update src/i18n/locales/zh-CN/common.json Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * fix: remove redundant rulesFolderExists from deleteCustomModeCheck response * fix: update webviewMessageHandler tests to match fs import style --------- Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com> Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> |
||
|
|
70726bcd21
|
feat: Import export modes (#5074)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com> Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com> |
||
|
|
da8b09e655
|
Sharing improvements (#5082)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: John Richmond <5629+jr@users.noreply.github.com> Co-authored-by: cte <cestreich@gmail.com> |
||
|
|
21dc57365e
|
Modes selector improvements (#4902)
Co-authored-by: Bruno Bergher <me@brunobergher.comexport> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com> |
||
|
|
7392f14e44
|
feat: add profile-specific context condensing thresholds (#4456)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> |
||
|
|
9a5f6ce7ea
|
fix: resolve marketplace timeout issues and display installed MCPs (#4817) (#4941) | ||
|
|
7dd56d6551
|
Move marketplace types to @roo-code/types (#4671)
And do some cleanup & consolidation. |
||
|
|
7d0b22f9e6
|
Add logic to prevent auto-approving edits of configuration files (#4667)
* Add logic to prevent auto-approving edits of configuration files * Fix tests * Update patterns |
||
|
|
bde7a7bf2a
|
feat: Add indexing status badge to chat view (#4429) (#4532)
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com> Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com> |
||
|
|
fe52c19fde
|
Evals fixes (#4599) | ||
|
|
7bed94454a
|
feat: Enhance apply_diff with XML for multi-file/multi-diff operations & batch UI (#3342)
* feat: add BatchDiffApproval component for multi-file diff application - Introduced a new component `BatchDiffApproval` to handle the approval of batch changes across multiple files. - Integrated the `BatchDiffApproval` component into `ChatRow` to display batch diff requests. - Updated experimental settings to include a toggle for multi-file apply diff functionality. - Enhanced localization files to support new strings related to batch changes in multiple languages. - Updated tests to cover the new multi-file apply diff feature. * revert this * fix: update applyDiff parameter type to accept string or DiffItem * refactor: keep original file name for apply diff tool * revert this * Update src/core/webview/__tests__/ClineProvider.test.ts * revert this * fix: keep the original path if the experiment is disabled * test: add dynamic strategy selection tests for MultiSearchReplaceDiffStrategy and MultiFileSearchReplaceDiffStrategy * fix: mock applyDiffTool module and ensure legacy tool resolves successfully in tests * remove this * ellipsis suggestion Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * refactor: mirror concurrent file reads --------- Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com> Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com> Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> |
||
|
|
a9c1dad2ce
|
feat(mcp): improve mcp with McpExecution, make UX like terminal execute (#3485)
* feat: add MCP viewer and enhanced UI - Add McpExecutionStatus type with discriminated union for execution states - Implement McpExecution component with live status updates and collapsible output - Replace inline MCP UI in ChatRow with dedicated McpExecution component - Add comprehensive test coverage for useMcpToolTool - Enhance CodeAccordian to support custom headers - Improve combineCommandSequences to handle MCP execution flows * refactor: merge loops in combineCommandSequences for better efficiency - Reduced from 3 separate loops to 1 main processing loop - Improved time complexity from O(n²) to O(n) - Reduced total passes through array from 4 to 2 - Better memory access patterns and cache utilization * feat: enhance JSON parsing and rendering in McpExecution component * feat: add mock implementations for react-markdown and remark-gfm * fix: remove unreachable return statement in ChatRowContent component * feat(i18n): add execution status messages and error handling for invalid JSON arguments * test: add parameter validation tests for missing server_name and tool_name * Update McpExecution component to show server name in header and tool name in approval section --------- Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com> |
||
|
|
5d8b16159b
|
Marketplace (#4538)
* chore: merge jbbrown/marketplace squashed
Detailed commits:
Author: Dicha Zelianivan Arkana <51877647+elianiva@users.noreply.github.com>
Date: Wed May 21 00:36:02 2025 +0700
feat: better UI for marketplace item list (#11)
* feat: better UI for marketplace item list
* feat: better source config UI
* refactor: change how we fetch items
* fix: update state more optimistically
* fix: incorrect tags filter
* fix: better tags filtering
* feat: more consistent UI
* feat: marketplace animation
* fix: remove cache, it's fast enough
* refactor: make the UI more consistent across themes
* feat: integrate install metadata to UI
* feat: add translation files
* test: add marketplace UI
commit
|
||
|
|
540d4fb94f
|
Add a share button when logged into cloud (#4448)
* Add a share button when logged into cloud * Only show share button if enabled * PR feedback |
||
|
|
d1876d6af7
|
Get rid of "partial" component in names referencing not necessarily partial messages (#4332) | ||
|
|
2fda064ae9
|
Cloud: bugfixes: log refresh errors and allow logout from inactive-session (#4268)
* Cloud: log session refresh errors * Cloud: bugfix: allow logouts during the inactive-session state |
||
|
|
9ba0cd5c7a
|
feat(read_file): enhance file reading capabilities with multi-file support and improved parameter handling (#2886)
* feat(read_file): enhance file reading capabilities with multi-file support and improved parameter handling fix(read_file): change return to continue on approval rejection in readFileTool Enhance readFileTool with improved error handling and validation - Introduced a FileEntry interface for better type management. - Added validation for start_line and end_line to ensure proper ranges. - Implemented RooIgnore validation before processing files. - Enhanced error handling with dedicated functions for file and global errors. - Streamlined file reading logic to handle binary files, definitions-only mode, and line thresholds more effectively. - Improved user feedback for empty files and read limits. chore: update Jest snapshot for system prompt tool usage Refactor read-file tool to support XML input format and multiple line ranges - Updated the `getReadFileDescription` function to reflect new XML structure for file reading requests. - Modified `readFileTool` to parse XML input, allowing multiple line ranges for each file. - Removed old parsing logic that handled line ranges as separate parameters. - Implemented validation for line ranges and ensured proper error handling for file access. - Adjusted approval messaging to accommodate new line range format. - Enhanced error handling to provide consistent feedback for file read errors. update from KJ7LNW comment feat: add maxConcurrentFileReads setting to enhance read_file tool performance feat: enhance readFileTool with XML parsing and file processing state tracking feat: enhance readFileTool to include user feedback handling and processing state tracking chore: clean up read_file tool documentation by removing extra newlines feat: update read_file tool tests to handle user feedback and approval states feat: add tests for feedback message formatting and XML special character handling in read_file tool Implement code changes to enhance functionality and improve performance feat: increase max concurrent file reads and adjust slider range in settings feat: increase default max concurrent file reads from 5 to 15 across settings and context management fix(read_file): enhance legacy path handling and remove duplicate parameters feat(read_file): enhance file description handling and add support for multiple files in messages done poc for new ux idea 1 * fix the test * fix: normalize locale file formatting to use tabs - Applied prettier formatting to all locale JSON files - Fixed mixed indentation (spaces/tabs) to use consistent tabs - Aligns with project's prettier configuration * fix(settings): improve checkbox handling and slider configuration in ConcurrentFileReadsExperiment * fix(read_file): enhance description to include partial reads support * fix(read_file): update description for partial reads and improve example clarity * fix: suggestions * fix: translations * test: update system prompt snapshots for multi-file read tool * fix: remove batch permission question from readFile tool translations --------- Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com> |
||
|
|
d4c00e58ed
|
Simplify CloudService callbacks (#4097)
- Remove AuthService callbacks, add user-info event - Store userInfo on AuthService and fetch it when sessions go active - Simplify CloudService callbacks to just stateChanged - Add cloudUserInfo to state and remove authenticatedUser message |
||
|
|
7820b7517a
|
Roo Code Cloud (#4069)
Co-authored-by: John Richmond <5629+jr@users.noreply.github.com> |
||
|
|
4804e3b3b9
|
[Condense] Move condense settings out of experimental and defualt enable (#4088)
* [Condense] Move condense settings out of experimental and defualt enable * tests * wip * Update translations * fixes * more tests * changeset * wip * update translations * fix more translations |
||
|
|
e66136f1aa
|
Add a new @roo-code/types package and use it everywhere (#3912) | ||
|
|
61e122dc34
|
Codebase indexing (Clean history) (#3137)
* feat: apply changes from local main * fix: add missing types * feat: deduplicate code blocks coming out of parser * feat: implement a cache manager to improve cache handling * refactor: move code index service initialization to extension and remove await from indexing process * fix: return undefined instead of throwing if no workspace is detected * feat: allow auto approve if it is active for read tools * refactor: improve UI of the results and allow opening the ranges directly in the editor * refactor: use dependency injection to improve performance * feat: implement result filtering by directory path * refactor: centralize path normalization logic * refactor: remove unnecessary barrel file * refactor: prevent restarting the service if no settings change * fix: the indexing process should never be awaited * refactor: cleanup unused method * refactor: remove batch limits for ollama * refactor(parser): simplify method signatures and improve chunking logic - Remove redundant min/max chars parameters - Add better handling for oversized lines - Improve chunking logic with segment handling - Clean up method signatures and parameter ordering * fix(settings): make select inputs full width in CodeIndexSettings * refactor: increase max list file limit * feat(ui): improve codebase search result display formatting * test: add tests for cache and config managers * test: create unit tests for parser and scanner * feat(parser): improve segment hash uniqueness - Added startCharIndex to segment hash calculation in _chunkTextByLines - Track character position when splitting oversized lines - Ensures unique identification of segments from same line * feat(file-watcher): add error logging and optional ignoreController injection * fix: allow getting the state if the service is disabled * fix: set the embedding models when cline provider is initialized * feat: use zod to validate form * feat(file-watcher): enhance file watcher for batched deletions and improved vector store interactions Improve file watcher to handle file deletions in batches and optimize vector store operations. * feat(CodeIndexSettings): move OpenAI key input to a conditional rendering block * feat(CodeIndexSettings): update button visibility based on indexing status * feat(file-watcher): refactor vscode mock and enhance file watcher tests * fix(CodeIndexManager): do not await startIndexing on configuration changes * feat(types): add codeIndexOpenAiKey and codeIndexQdrantApiKey to ProviderSettings and IpcMessage * feat(FileWatcher): enhance file processing with batch operations and new status handling * fix(webviewMessageHandler): handle errors during CodeIndexManager initialization * refactor(CodeIndexManager): streamline service creation by consolidating into a single method * feat(CodeIndex): implement minimum search score configuration and update search methods * refactor(CodeIndexSettings): replace ApiConfiguration with ProviderSettings and update related methods * refactor: move contants to centralized file * refactor(constants): rename CODEBASE_INDEX_SEARCH_MIN_SCORE to SEARCH_MIN_SCORE * feat(QdrantVectorStore): enhance search functionality with new query structure and indexing * feat(FileWatcher): implement batch processing and retry logic for upserting points * fix(CodeIndexSettings): rename setProviderSettingsField to setApiConfigurationField and move model label * fix(ChatRow): remove limit from search query messages * refactor(CodebaseSearchResult): remove unused props from component * feat: implement batch processing for file events in FileWatcher - Introduced a new mechanism to accumulate file events (create, change, delete) and process them in batches. - Added debounce functionality to optimize processing frequency. - Emitted events for batch processing start, progress updates, and completion with detailed summaries. - Refactored existing processing logic to handle batch deletions and upserts efficiently. - Enhanced error handling and logging for better traceability during batch operations. * feat(CodeIndex): implement batch processing and update progress reporting * fix: define a default url for qdrant * feat(CodeIndexManager): add initialization check and update startIndexing logic * feat(CodeIndexSettings): validate Qdrant URL and update settings commitment logic * feat: refactor progress calculation and update progress bar rendering * refactor: remove webview provider and related methods * fix: simplify indexing status update by directly using update values * feat: integrate .gitignore support into file processing and scanning logic * fix: update clearCacheFile method to write an empty object instead of deleting the cache file * Revert this * Run prettier * fix: add new dependencies for qdrant client and directory scanner * feat: add codebase search functionality to localization files * feat: add localization strings for codebase indexing settings * feat: integrate CodeIndexSettings into ExperimentalSettings and update settings localization * refactor: remove console logs from various components for cleaner output * feat: enhance capabilities section and codebase search tool description * feat: add code indexing localization for multiple languages * fix: correct indentation for CodeIndexSettings component in ExperimentalSettings * refactor: update unit tests to properly test current functionality * feat: add mock implementation for p-limit and update Jest config * feat: track file creation, change, and deletion events in accumulatedEvents * refactor: simplify file watcher tests by removing waitForFileProcessingToFinish and using direct event accumulation * refactor: mock ContextProxy's getValue method to return current config name in ClineProvider tests * refactor: mock missing properties required by codebase indexing manager --------- Co-authored-by: cte <cestreich@gmail.com> |
||
|
|
1791bb9053
|
Ability to refresh LiteLLM models list (take 2) (#3852)
* Litellm models can now be refreshed * Fix no-case-declarations lint issue and put back missing autoCondenseContextPercent webviewMessageHandler case * Add tests for litellm config changes * replace hardcoded keys with constants |
||
|
|
d149d65e14
|
Feature/condensing enhancements (#3826)
Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> Co-authored-by: Your Name <you@example.com> |
||
|
|
1fe65364ee
|
[Condense] Add a slider for the context condense threshold (#3790)
* [Condense] Add a slider for the context condense threshold * slider UI * condense if we reach the threshold * fixes * test typing fixes * add more truncate tests * changeset * update translations * fix missing type |
||
|
|
c3716f1107
|
[Condense] Add a button to condense the task context (#3623)
* [Condense] Add a button to condense the task context * wip * wip * wip * bring back delete size * account for the system prompt in the context * update tests to use systemPrompt * add type * translations * nit * update tests * filter to the current task * nit * refactor * nit * non interactive option * simplify chat summary UI * changeset * nit * fix check-types * throw |
||
|
|
25cd57e157
|
✨ feat(settings): Add allowedMaxRequests feature inspired by Cline (#3631)
* feat(settings): Introduce the "auto-approve request count" feature from Cline This is the first minor UI feature I've added, so please let me know if I'm missing anything! (translations, organization, etc!) Please see commits for details introduce allowedMaxRequests to globalSettingsSchema update ExtensionState and its context with allowedMaxRequests implement UI for setting max requests in AutoApproveMenu component prompt user when auto-approval limit is reached with i18n support increment consecutiveAutoApprovedRequestsCount and reset upon user approval add translations for auto-approved request limit reached prompt in multiple languages add new UI for "auto_approval_max_req_reached" in ChatRowContent display prompt with title, description, and button for user action 🔧 chore(gitignore): add .idea to .gitignore to exclude IDE-specific files - remove .idea/workspace.xml to clean up repository * 🔧 chore(gitignore): add IDE configuration files to ignore list - add .idea directory to ignore JetBrains IDE configurations * 🌐 i18n(chat): add translation keys for api request limit - introduce translation keys for "title" and "unlimited" in multiple languages - update description for api request limit in various languages * 🌐 i18n(chat): migrate auto-approved request limit translations - move translations from common.json to chat.json across locales - update component to use Trans for dynamic text rendering * Update the UI for setting max requests * Hide the auto-approve limit warning once clicked --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> |
||
|
|
8cb5c4e9e3
|
Restore profile management work + fix #3434 (#3449)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> |
||
|
|
730d037a12
|
Revert "Improve provider profile management in the external API (#3386)" (#3440) | ||
|
|
c21aa230e3
|
Get rid of ApiConfiguration type alias, rename ApiConfigMeta to ProviderSettingsEntry (#3380)
|
||
|
|
973295835a
|
Webview message handler + terminal settings cleanup (#3189) | ||
|
|
904f71cb19
|
feat: add VSCode terminal environment inheritance setting (#2862)
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org> |
||
|
|
1d7569b14c
|
Improve command execution component (#3057) | ||
|
|
2e1d949e65
|
Add support for multiple command execution strategies (#2820) | ||
|
|
83133c6e6d
|
UI top down homescreen (#2951)
* isotrUpdate welcome screen UI components and fix unused variable * Save collapsibility. * Add persistence, locales. * Top layout, expanded tips. * Minimal 'tasks' language. * Adjust announcement positioning/dimensions. * Fix tests, defaults. * Fix translations. * Compromise-compromise. * Final tweaks. * More tweaks. * More tweaks. * Issues fix. * Update translations, remove debug. * Fix transparency issue. --------- Co-authored-by: hannesrudolph <hrudolph@gmail.com> |
||
|
|
cb29e9d56f
|
Remove ModelInfo objects from settings (#2939) | ||
|
|
b5ffaf1ba2
|
Fix Terminal Carriage Return Handling for Correct Progress Bar Display (#2562)
* fix(terminal): Ensure correct handling of carriage returns for progress bars This commit refines the tests for `TerminalProcess` to ensure the correct interpretation of terminal output containing carriage returns (`\\r`), which is essential for properly handling dynamic elements like progress bars (e.g., `tqdm`). - Validated the `processCarriageReturns` method's behavior in simulating terminal line overwrites caused by `\\r`. - Corrected the expectation in the `handles carriage returns in mixed content` test to accurately reflect the method's output (final line content + preserved escape sequences), confirming the logic works as intended for progress-bar-like updates. - Fixed a minor Jest `toBe` syntax error in a related test case. - Suppressed an expected `console.warn` in the non-shell-integration test for cleaner logs. By ensuring `processCarriageReturns` is correctly tested, we increase confidence that the component responsible for pre-processing terminal output handles progress bars appropriately before the output is potentially used elsewhere (e.g., sent to an LLM). * fix(test): Make TerminalProcess integration test reliable This commit fixes the flaky test case `integrates with getUnretrievedOutput to handle progress bars` in `TerminalProcess.test.ts`. The test previously failed intermittently due to: 1. Relying on a fixed `setTimeout` duration to wait for asynchronous stream processing, which created a race condition. 2. Incorrectly assuming that `await terminalProcess.run(...)` would return the final output directly via its resolved value. The fix addresses these issues by: - Removing the unreliable intermediate check based on `setTimeout`. - Modifying the test to correctly obtain the final output by listening for the `completed` event emitted by `TerminalProcess`, which is the intended way to receive the result. This ensures the test accurately reflects the behavior of `TerminalProcess` and is no longer prone to timing-related failures. * Add changeset for terminal carriage return fix * Implement terminal compress progress bar feature This commit introduces a new feature to compress terminal output by processing carriage returns. The `processCarriageReturns` function has been integrated into the `Terminal` class to handle progress bar updates effectively, ensuring only the final state is displayed. Additionally, the `terminalCompressProgressBar` setting has been added to the global settings schema, allowing users to enable or disable this feature. Tests have been updated to validate the new functionality and ensure correct behavior in various scenarios. A Benchmark is also added to test the performance. Not that there is still no i18n support for this. * Add i18n support for compressProgressBar setting in multiple languages * Optimize processCarriageReturns function for performance and multi-byte character handling This commit enhances the `processCarriageReturns` function by implementing in-place string operations to improve performance, especially with large outputs. Key features include: - Line-by-line processing to maximize chunk handling. - Use of string indexes and substring operations instead of arrays. - Single-pass traversal of input for efficiency. - Special handling for multi-byte characters to prevent corruption during overwrites. Additionally, tests have been updated to validate the new functionality, ensuring correct behavior with various character sets, including emojis and non-ASCII text. Highly Density CR case is added to Benchmark * slight performance improvement by caching several variable * Optimize multi-byte character handling in processCarriageReturns Refactor the logic within the `processCarriageReturns` function to simplify the detection of partially overwritten multi-byte characters (e.g., emojis). Removed redundant checks and clarified the conditions for identifying potential character corruption during carriage return processing. This improves code readability and maintainability while preserving the original functionality of replacing potentially corrupted characters with a space. Also enforced consistent use of semicolons for improved code style. * docs: standardize carriage return (\r) and line feed (\n) terminology Improve code clarity by consistently adding escape sequence notation to all references of carriage returns and line feeds throughout documentation and tests. This makes the code more readable and avoids ambiguity when discussing these special characters. * feat: Improve terminal output processing clarity and settings UI - Add detailed comments to `processCarriageReturns` explaining line feed handling. - Relocate `terminalCompressProgressBar` setting below `terminalOutputLineLimit` for better context in UI. * Fix: Compress Progress Bar Setting Checkbox --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> |
||
|
|
f06567d579
|
Feat/improve insert block content (#2510)
* refactor: enhance insertGroups and insertContentTool for better handling of insertion operations * refactor: simplify insert_content tool - Remove operations-based implementation in favor of single line insertion - Update parameters from operations to line and content - Simplify insertion logic and error handling - Update tool description and documentation - Remove XML parsing for operations - Clean up code and improve error messages * refactor: remove insert_content experiment and related tests * Remove the append_to_file tool * Improvements to chat row and instructions --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> |
||
|
|
80b298492c
|
improve search and replace tool (#2764)
* Refactor search and replace tool * feat(search-replace): enhance search/replace tool UI and messaging Refactor search/replace tool message structure for better consistency Add dedicated UI component for displaying search/replace operations Add i18n support for search/replace operations in all supported languages Improve partial tool handling in searchAndReplaceTool * Remove search_and_replace experiment and related references |
||
|
|
159e4005e5
|
UI Glam Sesh: Makeover for TaskHeader, ChatView, HistoryPreview... (#2701)
* - UI Glam Session -> Makeover for TaskHeader, ChatView, HistoryPreview, WelcomeView - In particular, display a "no tasks in workspace" message when no tasks are found. - Clean up Inferface Settings (not needed now) on Settings View - Copy updates throughout these areas. * Apply suggestions from code review Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Missing translation string. * Fix test * Fix tests * Improve translations / fix missing strings. * Support xAI for evals (#2703) * Make sure the slash commands only fire if they're the first character (#2702) * Update contributors list (#2675) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> * v3.12.3 (#2710) * Changeset version bump (#2711) * changeset version bump * Updating CHANGELOG.md format * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: R00-B0T <github-actions@github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> * Update translations --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: cte <cestreich@gmail.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Co-authored-by: R00-B0T <github-actions@github.com> |
||
|
|
1cca4f47c7
|
feat: Add 'roo.acceptInput' command (#2598)
* feat: Add 'roo.acceptInput' command * Update package.nls.json * Update translations --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> |
||
|
|
3b19d7a455
|
Await checkpoint saves (except the initial) (#2665) |