-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Modes selector improvements #4902
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Modes selector improvements #4902
Conversation
…ks it for the first time
daniel-lxs
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks really nice!
I left a couple of minor suggestions, also can you take a look at the conflicts so I can move this PR for review?
Thank you!
|
|
||
| if (TelemetryService.hasInstance()) { | ||
| // Determine which setting was changed by comparing objects | ||
| const oldPrompt = existingPrompts[message.promptMode] || {} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't love the complexity of this logic and the fact it's repeated elsewhere, but this was Roo's insistent suggestion on how to determine the changed setting and I couldn't figure out a different one which didn't lead to much more complex changes (eg one global event per setting change)
daniel-lxs
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
Co-authored-by: Bruno Bergher <[email protected]> Co-authored-by: Matt Rubens <[email protected]> Co-authored-by: Daniel Riccio <[email protected]>
Co-authored-by: Bruno Bergher <[email protected]> Co-authored-by: Matt Rubens <[email protected]> Co-authored-by: Daniel Riccio <[email protected]>
Description
Modes are one of RooCode's main differentiators – users who try different modes are much more likely to stick around.
But they can be hard to understand and can go unnoticed, especially as people are just getting started with the product.
This PR aims to improve that by:
Test Procedure
The majority of the changes are in the UI, so testing is manual.
Type of Change
srcor test files.Pre-Submission Checklist
npm run lint).console.log) has been removed.npm test).mainbranch.npm run changesetif this PR includes user-facing changes or dependency updates.Screenshots / Videos
Before

After

Documentation Updates
Does this PR necessitate updates to user-facing documentation?
Important
Enhances mode selector UI with a new component, state management for new user interactions, and telemetry tracking in
TelemetryClient.ts.ModeSelectorcomponent inChatTextArea.tsxto replaceSelectDropdownfor mode selection.modes.tsfor better user understanding.hasOpenedModeSelectortoglobalSettingsSchemainglobal-settings.tsandExtensionStateinExtensionMessage.ts.ClineProvider.tsandwebviewMessageHandler.tsto managehasOpenedModeSelectorstate.TelemetryClient.tsto track mode selector interactions withsetPeopleProperty()andgetPeopleProperty()methods.This description was created by
for e45d2da. You can customize this summary. It will automatically update as commits are pushed.