Commit graph

342 commits

Author SHA1 Message Date
Matt Rubens
e810a886d2
Welcome page OAuth (#1913)
* Add Requesty OAuth flow

* New 1-click onboarding flow

* Requesty: Use correct default model info

* When called from the onboard flow, created the default profile

Glama OAuth handler changed for consistency.

* Add router images

* Shuffle the routers

* Translate

* Appease knip

---------

Co-authored-by: Daniel Trugman <dtrugman@gmail.com>
2025-03-23 10:08:16 -04:00
Sam Hoang Van
70a476e722
feat read file range (#1440)
* feat read file range

feat: add file truncation with code structure preview

Add configurable line limit for large file handling with source code structure preview. This improves performance and memory usage while maintaining code readability.

Key changes:

Add maxReadFileLine setting (default: 4500) with UI controls
Create efficient line counter utility using streams
Add parseSourceCodeDefinitionsForFile for single file parsing
Show truncation notice with code structure for large files
Add comprehensive tests for new functionality
Move file extensions to shared constant

add line number

pr comment

Return definition ranges from tree-sitter

make treesitter always add line

add line number to rg search

enhance tree siter output & fix test

update snapshot

fix test

* Add translations, tweak range

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-20 00:55:47 -04:00
Matt Rubens
65740b311f
Put the full language name in the system prompt (#1813) 2025-03-19 13:33:31 -04:00
Matt Rubens
4b2a54e364
Allow manually selecting a model in the model picker (#1809) 2025-03-19 10:10:24 -04:00
Chris Estreich
fbb5cfcd11
More theme fixes for select, dropdown & command (#1789)
* More theme fixes

* Fix typo

* Add changeset

* Fix button variant

* More fixes

* More tweaks

* More tweaks

* Fix test

* Fix tsc errors
2025-03-18 22:07:19 -07:00
Matt Rubens
aed55d799b
v3.9 (#1790) 2025-03-19 00:30:13 -04:00
Chris Estreich
f4abdf4b95
Use the Slider component everywhere (#1786)
* Use the Slider component everywhere

* onValueCommit -> onValueChange

* More cleanup

* Fix tests

* Add missing translations

* Update webview-ui/src/components/settings/ContextManagementSettings.tsx

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>

* SelectDropdown fixes

* Fix tests

---------

Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
2025-03-18 15:27:28 -07:00
Chris Estreich
8b368e92c9
Simplify model picker, use default @shadcn/ui components (#1782)
* Simplify model picker, use default @shadcn/ui components

* Fix tests
2025-03-18 11:55:27 -07:00
Chris Estreich
923d4a56f9
Port all Dropdown components to Select in ApiOptions (#1780)
* Port all `Dropdown` components to `Select` in `ApiOptions`

* Fix tests
2025-03-18 10:15:36 -07:00
Matt Rubens
7be3dee350
Translate the thinking budget (#1775) 2025-03-18 11:22:38 -04:00
Chris Estreich
878b3820d2
Settings tweaks: add terminal & language sections, fix whell scroll in editor tab (#1763) 2025-03-18 00:11:57 -07:00
KJ7LNW
6301e90454
Fix shell integration race condition (and other minor fixup/cleanup) (#1660)
* fix: clarify PowerShell command completion workaround

The command completion detection approach in PowerShell requires an output
string to allow duplicate commands to execute in some versions of code.
Update the string to explicitly indicate it is a Roo PowerShell workaround,
making it clear in terminal output that this is intentional behavior rather
than a side effect.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* cleanup: improve terminal logging and error handling

No functional changes - purely improves error handling and logging clarity.

Terminal.ts:
- Handle undefined process state in setActiveStream without throwing
- Add terminal IDs to all log messages for better traceability
- Improve error message clarity in shell integration timeout

TerminalRegistry.ts:
- Reorganize shell execution event handlers for better flow
- Log shell execution events before processing for reliable debugging
- Add detailed context to terminal not found scenarios
- Include command and execution state in error messages

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* feat: make terminal shell integration timeout configurable

Users with long shell startup times were encountering "Shell Integration Unavailable" errors due to the hard-coded 4s timeout. The timeout is now configurable through Advanced Settings (1-60s).

Thanks @filthy for troubleshooting and @kiwina for suggesting making the timeout configurable.

Fixes #1654

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* critical fix: race condition that prevents command completion

Terminal running state is now managed in TerminalRegistry instead of Terminal to prevent race between stream close and shell completion.

While this race may not trigger on current VSCode versions, newer releases with additional terminal fixes may expose the issue. This proactively prevents "Shell execution end event received, but process is not running" errors.

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* fix: improve command execution path reporting

Enhance clarity of command execution context and error reporting:

- Check to see if the directory changed because of the command
- Clarify execution path message
- Add explicit message when command exits with non-zero code

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* system instructions: clarify terminal directory operations

Clear guidance for the AI system on:
- Working directory constraints
- Path handling requirements
- Tool vs terminal directory behavior

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

* test: update snapshots for system prompt working directory instructions

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>

---------

Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org>
Co-authored-by: Chris Estreich <cestreich@gmail.com>
2025-03-17 23:57:20 -07:00
Seth Miller
f16a49de87
Add text-to-speech functionality (#1412)
* Add text-to-speech functionality

* Add speed config option to text-to-speech

* Fix test case for tts speed slider

* Fix test case for tts speed slider (really)

* Disabled error message logging in tts.ts

* ignore markdown and mermaid diagrams in TTS

* add ttsEnabled and ttsSpeed to GlobalStateKey

* fix failing webview test for save button

* Translations

* Fix tests

---------

Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com>
2025-03-18 01:47:16 -04:00
Chris Estreich
eb74f02094
Choose specific provider when using OpenRouter (#1753)
* Choose specific provider when using OpenRouter

* Add translations
2025-03-17 15:40:27 -07:00
cte
7d1d5581a4 Clean up CSS for settings view wheel scroll 2025-03-17 12:28:08 -07:00
Chris Estreich
d1fa1e9650
Merge pull request #1666 from GitlyHallows/provider-settings-scroll-bug
Added support for scrolling in the ‘Open in Editor’ instance, similar…
2025-03-17 12:21:52 -07:00
feifei
fddb611c88 fix missing settings key and add find i18n key scripts
Signed-off-by: feifei <liuyansheng1121@gmail.com>
2025-03-18 00:46:38 +08:00
feifei
104292e19b Resolving Conflicts
Signed-off-by: feifei <liuyansheng1121@gmail.com>
2025-03-17 20:14:17 +08:00
feifei
02b7843b08 fix missing settings and apiOptions
Signed-off-by: feifei <liuyansheng1121@gmail.com>
2025-03-17 19:17:03 +08:00
Matt Rubens
650fcb21a4 Fix language dropdown 2025-03-16 23:04:21 -04:00
Matt Rubens
74c895cea7
Merge pull request #1716 from RooVetGit/i18n_adjust_languages
Adjust languages to align with userbase
2025-03-16 22:57:20 -04:00
Matt Rubens
e91d49ca23 Adjust languages to align with userbase 2025-03-16 22:53:13 -04:00
Matt Rubens
a9a203a725 Add language code to settings footer 2025-03-16 21:19:58 -04:00
Matt Rubens
79e1d11b2e Add a language picker 2025-03-16 16:49:07 -04:00
Matt Rubens
f6f4ec475b Localize ModelPicker 2025-03-16 14:39:22 -04:00
Matt Rubens
f0ac4ab8bf Localize experimental checkboxes 2025-03-16 14:03:01 -04:00
Matt Rubens
7e29011b79 Fix i18n of footer 2025-03-16 13:36:18 -04:00
Matt Rubens
db618ce377 Localize the settings tab 2025-03-16 12:46:28 -04:00
GitlyHallows
70b19a4b6b Added support for scrolling in the ‘Open in Editor’ instance, similar to how scrolling functions in the main instance. 2025-03-15 08:08:19 +00:00
Matt Rubens
9bbbaf2288 Add a new setting to control the number of workspace files included in the system prompt 2025-03-14 12:06:56 -04:00
Matt Rubens
a679c95412 Create new context management section in settings 2025-03-14 11:11:24 -04:00
Matt Rubens
7ece065f33 Indentation fix 2025-03-12 12:16:18 -04:00
Matt Rubens
93611ea6b5 Merge remote-tracking branch 'origin/main' into support-custom-baseUrl-for-google-ai-studio-gemini 2025-03-12 11:55:14 -04:00
Matt Rubens
9b5ee27320
Merge pull request #1587 from dleen/cache
feat: Add prompt caching to OpenAI-compatible custom models
2025-03-12 11:35:42 -04:00
Matt Rubens
421e1972ad Add prompt caching to OpenAI-compatible custom model info 2025-03-11 22:43:33 -07:00
dqroid
8b0956666c
Merge branch 'main' into support-custom-baseUrl-for-google-ai-studio-gemini 2025-03-11 16:15:52 +08:00
Eric Wheeler
070a36baa2 Revert "Smart truncation for terminal output"
This reverts commit 7eee3e0878.

Middle-out truncation is a really great feature and it should still be
implemented, however it unnecessarily interferes with #1365 because it
hooked into the low-level chunk management that comes directly from VSCE
shell integration.

The best place to hook OutputBuilder is as follows depending on the
state of terminal interaction:

1. Foreground terminals:

Cline.ts:
	 executeCommandTool(...) {
	     process.on("line", (line) => {
		    lines.push(line)
		    ...
	    }
	 }

2. For background terminals: hook in at the point that getUnretrievedOutput is consumed for active or
   inactive terminals in Cline.ts:getEnvironmentDetails()

Please note:

The Terminal classes are very sensitive to change, partially because of
the complicated way that shell integration works with VSCE, and
partially because of the way that Cline interacts with the Terminal*
class abstractions that make VSCE shell integration easier to work with.

At the point that PR#1365 is merged, it is unlikely that any Terminal*
classes will need to be modified substantially.  Generally speaking, we
should think of this is a stable interface and minimize changes.

Reverts: #1390
2025-03-10 20:54:53 -07:00
Chris Estreich
13be66fd53
Merge pull request #1560 from cannuri/cannuri/fix-alert-dialog-theme
refactor alert dialog styles, use vscode theme
2025-03-10 20:25:25 -07:00
cannuri
8c21f0ece3 refactor alert dialog styles, use vscode theme 2025-03-11 03:59:46 +01:00
Matt Rubens
9eab941d5c
Merge pull request #1550 from Smartsheet-JB-Brown/jbbrown/aws_custom_arn_for_intelligent_prompt_routing
Users need the ability to use custom ARNs (Amazon Resource Names) with AWS Bedrock for intelligent prompt routing.
2025-03-10 22:21:36 -04:00
Matt Rubens
6cfc1cd4c9
Merge pull request #1528 from afshawnlotfi/chrome-remote-webtools
Chrome remote webtools
2025-03-10 21:37:20 -04:00
Smartsheet-JB-Brown
171037a938 Add enhanced error handling and logging for AWS Bedrock custom ARNs 2025-03-10 14:25:52 -07:00
dongqing
85b54b33ba support custom base url for gemini in google AI studio 2025-03-10 19:06:58 +08:00
Afshawn Lotfi
71795d5487 Enhance BrowserSettings component with VSCodeTextField for remote browser URL input 2025-03-10 06:51:35 +00:00
Afshawn Lotfi
66e3b9610c Add remote browser connection support and related state management 2025-03-10 03:41:38 +00:00
cte
9f40c4d57a App tab layout fixes 2025-03-09 15:07:59 -07:00
Afshawn Lotfi
22f51304a2 Add support for remote browser connection and settings 2025-03-09 20:11:52 +00:00
Matt Rubens
68cfdc985e Fix the VSCode LM model picker 2025-03-09 09:38:55 -04:00
Matt Rubens
e10757d6fa Iterate on subtasks UX 2025-03-08 23:46:28 -05:00
Matt Rubens
e945dcf94f
Merge pull request #1491 from shaybc/sbc_subtasks_approve_btn
Sbc subtasks approve button
2025-03-08 21:16:44 -05:00