Commit graph

1499 commits

Author SHA1 Message Date
Daniel Riccio
cd240325ce
fix: normalize base URL in LM Studio embedder and improve error logging 2025-07-10 16:17:47 -05:00
MuriloFP
ea3de32ab0
fix: Add missing LM Studio translations and fix test assertions
- Added missing LM Studio translation keys to all non-English locale files
- Fixed test assertions in config-manager.spec.ts to match new config structure
- Fixed test assertion in service-factory.spec.ts for LM Studio embedder
- All provider options are now always included in config objects (with undefined values when not configured)
2025-07-10 16:17:47 -05:00
kiwina
0bfe5c86ee
Add LM Studio support to code indexing service and settings 2025-07-10 16:17:47 -05:00
Matt Rubens
76a3fdc256
Clean up MCP tool disabling (#5576) 2025-07-10 14:36:09 -04:00
Matt Rubens
6fa918c275
Improve the display of codebase search results (#5571) 2025-07-10 12:30:06 -04:00
Noritaka Kobayashi
ab55854702
chore: fix typos in comment & document (#5569) 2025-07-10 11:33:26 -04:00
Matt Rubens
a7b5cbd722
Soften the language for incompatible profiles (#5561) 2025-07-10 09:47:47 -04:00
shubhamgupta731
4771864a8c
Expand Vertex AI region config to include all available regions in GCP Vertex AI (#5557)
Co-authored-by: Shubham Gupta <shubham@porter.in>
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-10 09:27:28 -04:00
Daniel
dd00fc8a0f
feat: Replace title attributes with StandardTooltip in ChatTextArea (#5528)
feat: Replace title attributes with StandardTooltip in ChatTextArea buttons

- Added StandardTooltip wrapper for Stop TTS button
- Replaced title attributes with StandardTooltip for Enhance Prompt button
- Replaced title attributes with StandardTooltip for Send Message button
- Replaced title attributes with StandardTooltip for Add Images button

Note: The stopTts translation key needs to be added to the localization files
2025-07-09 16:24:53 -05:00
Matt Rubens
dfcba654a6
Tweak alignment of indexing dot (#5523) 2025-07-09 16:03:20 -04:00
Matt Rubens
2b7c266546
Update icons in chattextarea (#5520)
* Update icons in chattextarea

* fix: update icons in ChatTextArea and IndexingStatusBadge components

* fix: update Camera icon to Image and fix alignment

- Changed Camera icon to Image icon from lucide-react
- Fixed alignment issue by adjusting gap and removing extra margin
- Updated tests to work with new Lucide icon structure

* fix: revert alignment changes for Image icon

- Keep original alignment with gap-0.5 and mr-1 to match send and enhance buttons

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-09 15:03:04 -04:00
Matt Rubens
d040112a93
Remove feature3 from announcement (#5510) 2025-07-09 10:15:17 -04:00
Daniel
58cacc3cf0
fix: reset user response flag on new ask messages to fix auto-approval (#5508)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-09 09:54:26 -04:00
Matt Rubens
e028d68f57
Always show the code indexing dot (#5505) 2025-07-09 08:11:40 -04:00
Matt Rubens
7fe1c0f47a
feat: prepare v3.23.0 release (#5497) 2025-07-09 00:05:23 -04:00
Murilo Pires
fa60a31578
Indexing field validation (#5483)
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>
2025-07-08 23:15:37 -04:00
Matt Rubens
f59e837bb0
Hide message editing temporarily (#5494) 2025-07-08 23:11:39 -04:00
Daniel
09e348e21c
Move codebase indexing out of experimental (#5481) 2025-07-08 23:07:36 -04:00
Daniel
cb4652e45e
fix: remove flaky SearchableSelect clear button test (#5489)
- Removed test 'clears search value when clicking the clear button'
- Test was failing in full test suite due to timing/isolation issues
- Component functionality is verified to work correctly
- All tests now pass (540 passed, 1 skipped)
2025-07-08 20:38:15 -04:00
Will Li
15586d3846
Fixed auto question timer unmount (#5368)
* fixed bug

* expanded tests and made better mock

* code review: refactor & race conditions

* code review, some refactor and reset timer on task switch

* rename to onCancelAutoApproval
2025-07-08 20:19:22 -04:00
gongzhongqiang
8c1aec1912
Add Search/Filter Functionality to API Provider Selection in Settings (#5278)
* Enhance provider selection with search functionality

* fix: add SearchableSelect mock to SettingsView.spec.tsx

- Added SearchableSelect to the @/components/ui mock in SettingsView.spec.tsx
- This resolves test failures after the SearchableSelect component was introduced
- All 497 tests now pass successfully

* test: add comprehensive tests for SearchableSelect component

* feat: address PR feedback

* fix: internationalize SearchableSelect placeholder in test mock

- Replace hardcoded 'Select...' with i18n key 'settings:common.select'
- Ensures consistency with actual component usage
- Addresses PR review feedback

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-08 19:16:56 -04:00
Matt Rubens
83da295fb1
Fix auto-approve todo settings (#5482) 2025-07-08 18:48:59 -04:00
Murilo Pires
26c2fbbc07
fix: improve chat UI - add camera icon margin and make placeholder no… (#5477)
fix: improve chat UI - add camera icon margin and make placeholder non-selectable
2025-07-08 17:28:12 -03:00
Matt Rubens
a5324268dc
Remove unnecessary useEffect from sharebutton (#5476) 2025-07-08 16:01:39 -04:00
Matt Rubens
d116dbf0f1
Only show share modal from sharebutton (#5475) 2025-07-08 15:49:23 -04:00
Murilo Pires
150d71256f
Chat index UI enhancements (#5451)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-08 13:19:02 -06:00
Daniel
c551e17327
refactor: remove legacy codebaseIndexOpenAiCompatibleModelDimension property (#5459) 2025-07-08 14:43:03 -04:00
Matt Rubens
6ab57fae43
Remove modifier checks from prompt history navigation (#5467) 2025-07-08 11:19:46 -04:00
Will Li
a9a87c2e0f
Make the prompts editable now (#5359) 2025-07-08 10:42:16 -04:00
axb
7645aad435
add todo tool (#5182)
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-07-07 14:07:39 -04:00
Murilo Pires
6ec017ca65
fix: correct export/import of OpenAI Compatible codebase indexing set… (#5383) 2025-07-07 11:53:33 -04:00
Kevin van Dijk
36b3cdc833
Fix model search being prefilled on dropdown (#5449) 2025-07-07 11:48:49 -04:00
Daniel
49af895c1f
fix: restore search score threshold slider (#5410)
fix: restore search score threshold slider and fix value persistence (#5041)

- Add codebaseIndexSearchMinScore to WebviewMessage type definition
- Include codebaseIndexSearchMinScore in saveCodeIndexSettingsAtomic handler
- Initialize codebaseIndexSearchMinScore in ExtensionStateContext
- Fix logical OR operators to use nullish coalescing for proper 0 value handling
- Ensure search threshold values persist correctly when saving settings

This restores the deleted feature from PR #5041 and fixes the issue where
the search score threshold value was being reset upon saving.
2025-07-05 08:04:55 -04:00
Murilo Pires
4a78f51fe5
Feat/issue 5149 configurable max search results (#5402)
* feat: add configurable max search results for codebase indexing (#5149)

- Add codebaseIndexSearchMaxResults to configuration schema with validation (10-1000)
- Update Qdrant client to accept maxResults parameter in search method
- Add UI slider in Experimental Settings to configure max search results
- Rename constants to DEFAULT_MAX_SEARCH_RESULTS and DEFAULT_SEARCH_MIN_SCORE for clarity
- Add translations for new setting across all 17 supported languages
- Add comprehensive test coverage for config manager, Qdrant client, and UI components

fix: settings persistence for codebase index configuration

- Add new updateCodebaseIndexConfig message type to properly merge config updates
- Update SettingsView to send entire codebaseIndexConfig object instead of just enabled flag
- Add backend handler to merge configuration updates instead of overwriting
- Add tests for the new message handler functionality

This ensures the max search results setting persists correctly when saved.

* fix: correct property name in updateCodebaseIndexConfig message

The frontend was sending 'config' but the backend expects 'codebaseIndexConfig'.
This mismatch was preventing the max search results setting from persisting.

* feat: refactor codebase index constants and update search result defaults

* feat(chat): add advanced settings for maximum search results configuration

* refactor: remove updateCodebaseIndexConfig and integrate max search results into saveCodeIndexSettingsAtomic

- Removed updateCodebaseIndexConfig message type and handler as per PR feedback
- Added codebaseIndexSearchMaxResults to codeIndexSettings type in WebviewMessage.ts
- Updated saveCodeIndexSettingsAtomic to save codebaseIndexSearchMaxResults
- Fixed SettingsView.tsx to use codebaseIndexEnabled message instead of updateCodebaseIndexConfig

* Delete webview-ui/src/components/settings/__tests__/ExperimentalSettings.spec.tsx

* refactor: remove updateCodebaseIndexConfig tests to streamline codebase indexing logic

* revert this

---------

Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
Co-authored-by: Daniel <57051444+daniel-lxs@users.noreply.github.com>
2025-07-04 20:55:15 -04:00
Justin Halsall
7a0a6deb93
Port: feat(chat): add copy prompt button to task actions (#5392)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-04 11:16:57 -04:00
Matt Rubens
7ae74404f4
Fix inconsistent descriptions in slash commands (#5388) 2025-07-04 01:08:37 -04:00
Daniel
f96021fa6b
fix: resolve UI issues with checkbox state and popover visibility (#5387) 2025-07-03 22:01:10 -04:00
Daniel
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
2025-07-03 18:33:20 -04:00
Hannes Rudolph
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>
2025-07-03 13:00:07 -04:00
SeeD
abea1920ac
Fix: Chat UI consistency and layout shifts (#5237) 2025-07-03 00:02:00 -04:00
SannidhyaSah
e4b051bb71
fix: prevent completion sound from replaying when reopening completed tasks (#4885) (#5249) 2025-07-02 23:59:51 -04:00
SannidhyaSah
87aa688f33
feat: add Gemini embedding provider for codebase indexing (#5228)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-02 23:51:42 -04:00
Matt Rubens
cb44e6dda4
v3.22.6 (#5357) 2025-07-02 17:15:40 -04:00
Christiaan Arnoldus
89d28a5e66
Give Mermaid buttons a light background in light mode (#5342) 2025-07-02 10:58:35 -04:00
Hannes Rudolph
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>
2025-07-01 17:13:44 -04:00
Matt Rubens
a1ae29cdcd
Suppress mermaid error rendering (#5308) 2025-07-01 15:50:24 -04:00
Will Li
781beeb30f
Auto approve follow up questions (#5296) 2025-07-01 14:43:16 -04:00
Hannes Rudolph
a348a2ae9a
feat: add user-configurable search score threshold slider for semantic search (#5027) (#5041)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-07-01 14:41:23 -04:00
Hannes Rudolph
298908fe1d
fix: ensure VersionIndicator only shows on welcome screen (#5288)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-30 14:07:00 -04:00
SannidhyaSah
24eb6e4c29
fix: prevent Qdrant URL field from auto-filling with default value (#5217)
Co-authored-by: Daniel Riccio <ricciodaniel98@gmail.com>
2025-06-30 10:56:49 -04:00