-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Jbbrown/marketplace #2772
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
base: main
Are you sure you want to change the base?
Jbbrown/marketplace #2772
Conversation
|
This pull request is quite large, with 135 files changed and over 16,000 lines added. It includes a variety of changes such as documentation updates, localization files, and source code modifications. To make the review process more manageable, I suggest splitting the changes into separate pull requests based on the type of changes:
This approach will help reviewers focus on specific areas and ensure a more efficient review process. Please consider splitting the pull request accordingly. |
* @returns Formatted string with name and description | ||
*/ | ||
// Reuse string buffer for formatting | ||
const formatBuffer = { |
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.
Reusing a global mutable string buffer in formatItemText
may cause side effects if called repeatedly in concurrent renders. Consider making the function pure by using a local variable instead.
import { useAppTranslation } from "@/i18n/TranslationContext" | ||
|
||
interface TypeGroupProps { | ||
type: string |
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.
Consider replacing the generic string type for the type
prop with a stricter union type (e.g. the allowed component types) to improve type safety.
type: string | |
type: "mode" | "mcp server" | "prompt" | "package" |
- Coordinates repository operations | ||
- Provides filtering and sorting | ||
|
||
4. **marketplaceMessageHandler** |
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.
The component name marketplaceMessageHandler
is written in lowercase, which is inconsistent with the PascalCase naming used for other components (e.g., PackageManagerManager
, GitFetcher
). Consider changing it to MarketplaceMessageHandler
for consistency.
4. **marketplaceMessageHandler** | |
4. **MarketplaceMessageHandler** |
|
||
3. **Sorting** | ||
|
||
- Sort pacitemskages by name or last updated date |
There was 10000 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.
Typo on line 131: "pacitemskages" should be "packages".
- Sort pacitemskages by name or last updated date | |
- Sort packages by name or last updated date |
|
||
### Type Filter Behavior | ||
|
||
- Type filters apply to both the primary item type and it's subcomponents |
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.
Typographical error: In the bullet point under 'Type Filter Behavior', change it's subcomponents
to its subcomponents
to correctly use the possessive form.
- Type filters apply to both the primary item type and it's subcomponents | |
- Type filters apply to both the primary item type and its subcomponents |
|
||
const endTime = Date.now() | ||
|
||
// The items are already stored in PackageManagerManager's currentItems |
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.
Typographical issue: The comment on line 97 refers to PackageManagerManager's currentItems
. This appears to be a typo, and it likely should refer to MarketplaceManager's currentItems
to match the rest of the code.
// The items are already stored in PackageManagerManager's currentItems | |
// The items are already stored in MarketplaceManager's currentItems |
"remove_tag_filter": "Rimuovi filtro tag: {{tag}}", | ||
"filter_by_tag": "Filtra per tag: {{tag}}", | ||
"component_details": "Dettagli componente", | ||
"match_count": "{{count}} corrispondenza{{count !== 1 ? 'e' : ''}}", |
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.
Typographical note: In the match_count
key, the pluralization logic appends 'e' to 'corrispondenza', resulting in text like '2 corrispondenzae'. Please verify if the correct plural form should be 'corrispondenze', and update the translation accordingly.
"match_count": "{{count}} corrispondenza{{count !== 1 ? 'e' : ''}}", | |
"match_count": "{{count}} {{count === 1 ? 'corrispondenza' : 'corrispondenze'}}", |
"remove_tag_filter": "Remover filtro de tag: {{tag}}", | ||
"filter_by_tag": "Filtrar por tag: {{tag}}", | ||
"component_details": "Detalhes do Componente", | ||
"match_count": "{{count}} correspondência{{count !== 1 ? 's' : ''}}", |
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.
Typographical Issue: The pluralization in match_count
might be incorrect. In Portuguese, the plural of 'correspondência' should be 'correspondências' (with 'ências') rather than simply appending an 's'. Consider revising: {{count}} correspondência{{count !== 1 ? 's' : ''}}
to correctly reflect proper pluralization.
"match_count": "{{count}} correspondência{{count !== 1 ? 's' : ''}}", | |
"match_count": "{{count}} {{count === 1 ? 'correspondência' : 'correspondências'}}", |
expect(mockGit.raw).toHaveBeenCalledWith(["reset", "--hard", "HEAD"]) | ||
}) | ||
|
||
it("should handle missing metadata.yml", async () => { |
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.
Typographical inconsistency: The test case in line 244 is described as should handle missing metadata.yml
, but the implementation checks for metadata.en.yml
and throws an error referring to metadata.en.yml
. Update the description to should handle missing metadata.en.yml
for consistency.
it("should handle missing metadata.yml", async () => { | |
it("should handle missing metadata.en.yml", async () => { |
import * as path from "path" | ||
import * as vscode from "vscode" | ||
|
||
describe("PackageManagerManager", () => { |
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.
The describe block is titled PackageManagerManager
, which seems to be a typographical error. Rename it to MarketplaceManager
or a similar name to match the context of the tests.
describe("PackageManagerManager", () => { | |
describe("MarketplaceManager", () => { |
d683ed9
to
130493e
Compare
I’d love UI help - it’s not particularly interesting to me. Everything that’s there is Roo design, and no opinions from me built in.On Apr 18, 2025, at 8:57 PM, Dicha Zelianivan Arkana ***@***.***> wrote:
#pfptBanner4s66qp1 { color-scheme: revert !important; ruby-position: revert !important; writing-mode: revert !important; -webkit-ruby-position: revert !important; color: revert !important; font-family: revert !important; font-feature-settings: revert !important; font-kerning: revert !important; font-optical-sizing: revert !important; font-palette: revert !important; font-size: revert !important; font-size-adjust: revert !important; font-stretch: revert !important; font-style: revert !important; font-synthesis-small-caps: revert !important; font-synthesis-style: revert !important; font-synthesis-weight: revert !important; font-variant-alternates: revert !important; font-variant-caps: revert !important; font-variant-east-asian: revert !important; font-variant-ligatures: revert !important; font-variant-numeric: revert !important; font-variant-position: revert !important; font-variation-settings: revert !important; font-weight: revert !important; text-orientation: revert !important; text-rendering: revert !important; zoom: revert !important; -webkit-font-smoothing: revert !important; -webkit-locale: revert !important; -webkit-text-size-adjust: revert !important; -webkit-text-zoom: revert !important; letter-spacing: revert !important; accent-color: revert !important; place-content: revert !important; place-items: revert !important; place-self: revert !important; alignment-baseline: revert !important; animation-composition: revert !important; animation: revert !important; appearance: revert !important; aspect-ratio: revert !important; backdrop-filter: revert !important; backface-visibility: revert !important; background-attachment: revert !important; background-blend-mode: revert !important; background-clip: revert !important; background-image: revert !important; background-origin: revert !important; background-position: revert !important; background-repeat: revert !important; background-size: revert !important; baseline-shift: revert !important; line-clamp: revert !important; border-collapse: revert !important; border: revert !important; box-shadow: revert !important; box-sizing: revert !important; break-after: revert !important; break-before: revert !important; break-inside: revert !important; buffered-rendering: revert !important; caption-side: revert !important; caret-color: revert !important; clear: revert !important; clip: revert !important; clip-path: revert !important; clip-rule: revert !important; color-interpolation: revert !important; color-interpolation-filters: revert !important; column-count: revert !important; column-fill: revert !important; gap: revert !important; column-rule-color: revert !important; column-rule-style: revert !important; column-rule-width: revert !important; column-span: revert !important; column-width: revert !important; contain: revert !important; container-name: revert !important; container-type: revert !important; content: revert !important; content-visibility: revert !important; counter-increment: revert !important; counter-reset: revert !important; counter-set: revert !important; cursor: revert !important; cx: revert !important; cy: revert !important; dominant-baseline: revert !important; empty-cells: revert !important; fill: revert !important; fill-opacity: revert !important; fill-rule: revert !important; filter: revert !important; flex: revert !important; flex-flow: revert !important; float: revert !important; flood-color: revert !important; flood-opacity: revert !important; glyph-orientation-horizontal: revert !important; glyph-orientation-vertical: revert !important; grid: revert !important; grid-column-end: revert !important; grid-column-start: revert !important; grid-row-end: revert !important; grid-row-start: revert !important; hanging-punctuation: revert !important; hyphenate-character: revert !important; hyphens: revert !important; image-orientation: revert !important; image-rendering: revert !important; isolation: revert !important; kerning: revert !important; lighting-color: revert !important; line-break: revert !important; line-height: revert !important; list-style: revert !important; margin-trim: revert !important; marker: revert !important; mask: revert !important; mask-composite: revert !important; mask-mode: revert !important; mask-type: revert !important; math-style: revert !important; mix-blend-mode: revert !important; object-fit: revert !important; object-position: revert !important; offset-anchor: revert !important; offset-distance: revert !important; offset-path: revert !important; offset-position: revert !important; offset-rotate: revert !important; order: revert !important; orphans: revert !important; outline: revert !important; outline-offset: revert !important; overflow-wrap: revert !important; overflow: revert !important; page: revert !important; paint-order: revert !important; perspective: revert !important; perspective-origin: revert !important; pointer-events: revert !important; position: revert !important; print-color-adjust: revert !important; quotes: revert !important; r: revert !important; resize: revert !important; rotate: revert !important; ruby-align: revert !important; ruby-overhang: revert !important; rx: revert !important; ry: revert !important; scale: revert !important; scroll-behavior: revert !important; scroll-snap-align: revert !important; scroll-snap-stop: revert !important; scroll-snap-type: revert !important; scrollbar-gutter: revert !important; scrollbar-width: revert !important; shape-image-threshold: revert !important; shape-margin: revert !important; shape-outside: revert !important; shape-rendering: revert !important; speak-as: revert !important; stop-color: revert !important; stop-opacity: revert !important; stroke: revert !important; stroke-color: revert !important; stroke-dasharray: revert !important; stroke-dashoffset: revert !important; stroke-linecap: revert !important; stroke-linejoin: revert !important; stroke-miterlimit: revert !important; stroke-opacity: revert !important; stroke-width: revert !important; tab-size: revert !important; table-layout: revert !important; text-align: revert !important; text-align-last: revert !important; text-anchor: re
A92E
vert !important; text-box: revert !important; text-combine-upright: revert !important; text-decoration-color: revert !important; text-decoration: revert !important; text-decoration-skip-ink: revert !important; text-decoration-style: revert !important; text-decoration-thickness: revert !important; text-emphasis-color: revert !important; text-emphasis-position: revert !important; text-emphasis-style: revert !important; text-indent: revert !important; text-overflow: revert !important; text-shadow: revert !important; text-transform: revert !important; text-underline-offset: revert !important; text-underline-position: revert !important; text-wrap: revert !important; touch-action: revert !important; transform: revert !important; transform-box: revert !important; transform-origin: revert !important; transform-style: revert !important; transition: revert !important; translate: revert !important; vector-effect: revert !important; vertical-align: revert !important; view-transition-class: revert !important; view-transition-name: revert !important; white-space: revert !important; widows: revert !important; will-change: revert !important; word-break: revert !important; x: revert !important; y: revert !important; z-index: revert !important; -apple-color-filter: revert !important; -apple-pay-button-style: revert !important; -apple-pay-button-type: revert !important; -webkit-backdrop-filter: revert !important; -webkit-background-clip: revert !important; -webkit-background-origin: revert !important; border-spacing: revert !important; -webkit-box-align: revert !important; -webkit-box-decoration-break: revert !important; -webkit-box-direction: revert !important; -webkit-box-flex: revert !important; -webkit-box-flex-group: revert !important; -webkit-box-lines: revert !important; -webkit-box-ordinal-group: revert !important; -webkit-box-orient: revert !important; -webkit-box-pack: revert !important; -webkit-box-reflect: revert !important; -webkit-box-shadow: revert !important; -webkit-column-axis: revert !important; -webkit-column-progression: revert !important; -webkit-cursor-visibility: revert !important; -webkit-hyphenate-limit-after: revert !important; -webkit-hyphenate-limit-before: revert !important; -webkit-hyphenate-limit-lines: revert !important; -webkit-initial-letter: revert !important; -webkit-line-align: revert !important; -webkit-line-box-contain: revert !important; -webkit-line-clamp: revert !important; -webkit-line-grid: revert !important; -webkit-line-snap: revert !important; mask-size: revert !important; -webkit-mask: revert !important; -webkit-mask-composite: revert !important; -webkit-mask-source-type: revert !important; -webkit-nbsp-mode: revert !important; -webkit-overflow-scrolling: revert !important; -webkit-rtl-ordering: revert !important; -webkit-tap-highlight-color: revert !important; -webkit-text-combine: revert !important; -webkit-text-decorations-in-effect: revert !important; -webkit-text-fill-color: revert !important; -webkit-text-security: revert !important; -webkit-text-stroke-color: revert !important; -webkit-text-stroke-width: revert !important; -webkit-touch-callout: revert !important; -webkit-user-drag: revert !important; -webkit-user-modify: revert !important; -webkit-user-select: revert !important; word-spacing: revert !important; block-size: revert !important; border-block: revert !important; border-radius: revert !important; border-end-end-radius: revert !important; border-end-start-radius: revert !important; border-inline: revert !important; border-start-end-radius: revert !important; border-start-start-radius: revert !important; inset: revert !important; contain-intrinsic-block-size: revert !important; contain-intrinsic-size: revert !important; contain-intrinsic-inline-size: revert !important; height: revert !important; inline-size: revert !important; inset-block: revert !important; inset-inline: revert !important; margin-block: revert !important; margin: revert !important; margin-inline: revert !important; max-block-size: revert !important; max-inline-size: revert !important; min-block-size: revert !important; min-height: revert !important; min-inline-size: revert !important; min-width: revert !important; overscroll-behavior-block: revert !important; overscroll-behavior-inline: revert !important; overscroll-behavior: revert !important; padding-block: revert !important; padding: revert !important; padding-inline: revert !important; scroll-margin-block: revert !important; scroll-margin: revert !important; scroll-margin-inline: revert !important; scroll-padding-block: revert !important; scroll-padding: revert !important; scroll-padding-inline: revert !important; width: revert !important; display: block !important; visibility: visible !important; opacity: 1 !important; background-color: rgb(255, 255, 179) !important; max-width: none !important; max-height: none !important; }
.pfptPrimaryButton4s66qp1:hover, .pfptPrimaryButton4s66qp1:focus { background-color: rgb(239, 239, 116) !important; }
.pfptPrimaryButton4s66qp1:active { background-color: rgb(224, 224, 0) !important; }
ooo pretty excited for this! i have a few opinions about the UI though dark modern dark+ solarized light image. png (view on web) image. png (view on web) image. png (view on web) i feel like we could use some more of those whitespace, it feels
ooo pretty excited for this!
i have a few opinions about the UI though
dark modern
dark+
solarized light
image.png (view on web)
image.png (view on web)
image.png (view on web)
i feel like we could use some more of those whitespace, it feels too 'wide' atm. could make it more 'compact' so it fits more content and we don't need to scroll as much
the mode is still hardcoded to blue and i don't think it should?
the 'open link' button at the bottom right has this weird white border on a few themes, might be worth picking other colour token or just remove the border altogether
image.png (view on web)
might be better to make the casing consistent by adding something like capitalize / text-transform: capitalize
image.png (view on web)
not particularly a fan of this section, a few alignment and usability issues
image.png (view on web)
this section also suffers from that weird button border issue, tbf it's all over roocode UI and not just the marketplace, probably should investigate more on that
it may be better to also add 'done' button? the other menu has it as a back button, just to make it more consistent
i can help tidying up the UI if you want, i'll make a PR to your branch if someone hasn't picked it up yet—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
elianiva left a comment (RooCodeInc/Roo-Code#2772)
ooo pretty excited for this!
i have a few opinions about the UI though
dark modern
dark+
solarized light
image.png (view on web)
image.png (view on web)
image.png (view on web)
i feel like we could use some more of those whitespace, it feels too 'wide' atm. could make it more 'compact' so it fits more content and we don't need to scroll as much
the mode is still hardcoded to blue and i don't think it should?
the 'open link' button at the bottom right has this weird white border on a few themes, might be worth picking other colour token or just remove the border altogether
image.png (view on web)
might be better to make the casing consistent by adding something like capitalize / text-transform: capitalize
image.png (view on web)
not particularly a fan of this section, a few alignment and usability issues
image.png (view on web)
this section also suffers from that weird button border issue, tbf it's all over roocode UI and not just the marketplace, probably should investigate more on that
it may be better to also add 'done' button? the other menu has it as a back button, just to make it more consistent
i can help tidying up the UI if you want, i'll make a PR to your branch if someone hasn't picked it up yet
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: ***@***.***>
|
hi, guys! when will we finish this pr? do we have a plan? @Smartsheet-JB-Brown @NamesMT @mrubens |
26986ea
to
22eb274
Compare
@monkeyDluffy6017 PR will be released under |
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 1a1166567257f00d3b78f166274e732d30d673a6 Author: Trung Dang <dangquoctrung123@gmail.com> Date: Mon May 19 23:08:25 2025 +0700 feat: `installedMetadata` MVP (#10) * feat: `installedMetadata` MVP * feat: removal support for installed items (+ general refactors) commit e25b3e77c0d39d52d34e3c1c96f3a647eb5c0f94 Author: NamesMT <dangquoctrung123@gmail.com> Date: Tue May 6 08:40:19 2025 +0000 refactor: minor: cleanup marketplaceHandler passing commit 3dcb4534f85fa9b1846c9719d996271e4cffb5a1 Author: NamesMT <dangquoctrung123@gmail.com> Date: Tue May 6 07:53:43 2025 +0000 chore: add reusable `globalContext` util commit b7fae4a325d59e620d95482d477b5c1193ef1b68 Author: NamesMT <dangquoctrung123@gmail.com> Date: Tue May 6 06:55:33 2025 +0000 chore(cline_docs/marketplace): align with `Roo-Code-Marketplace` commit f89c11ec67436cf0e8a9d8e1c8f9e21b306b82e2 Author: Trung Dang <dangquoctrung123@gmail.com> Date: Mon May 5 14:35:19 2025 +0700 feat(marketplace): UI form for configurable install (#9) * feat(wip): installation UI * chore: rebase, refactor and fixes --------- Co-authored-by: elianiva <51877647+elianiva@users.noreply.github.com> commit bbd790f4bd20ea5259d16a99deed3f02905f9c78 Author: Trung Dang <dangquoctrung123@gmail.com> Date: Sun May 4 12:36:52 2025 +0700 chore: bump `roo-rocket` and `config-rocket` version (#7) This is a breaking change that reword a lot of thing, revise the config props, and adds some more features. commit 562c34b9b7d9b7df75bf571c4cfc18e65ac75664 Author: NamesMT <dangquoctrung123@gmail.com> Date: Sat May 3 14:57:53 2025 +0000 chore(MM/roo-rocket): shorten and pin CLI version commit a25ed006d60cf6336b20babe43117ef742ed6c2c Author: NamesMT <dangquoctrung123@gmail.com> Date: Fri May 2 16:48:39 2025 +0000 chore: adjust `registry` dir find & validate logic commit 065c8af320f04c2656a2caa350c22acfb8110249 Author: NamesMT <dangquoctrung123@gmail.com> Date: Fri May 2 16:27:47 2025 +0000 chore: `showInstallButton` for `package` item commit 563b327007432f0d2a85f34945ca5dbd82b2d51a Author: Trung Dang <dangquoctrung123@gmail.com> Date: Fri May 2 23:16:26 2025 +0700 chore: marketplace wordings, cleanup, and document refresh (#6) * chore: reword all `PackageManager` => `Marketplace` * chore: document refresh, `mcp-server` => `mcp` * chore: correct word * chore: remove unnecessary condition * chore: remove unnecessary bits * chore: add note for failed test commit c0638798d8db56b36bc1d46b0c35b2a6a7bb1a3c Author: NamesMT <dangquoctrung123@gmail.com> Date: Fri May 2 05:13:35 2025 +0000 tests: prepare required mocks for `MarketplaceItemActionsMenu` commit 39b2638c6a2c30076a13cd08acf3e910111d0c5d Author: NamesMT <dangquoctrung123@gmail.com> Date: Fri May 2 05:12:55 2025 +0000 chore: remove tests specific to `MarketplaceItemActionsMenu` from ItemCard test file commit 03974e82b2b21c40634f0899834821abec689f20 Author: NamesMT <dangquoctrung123@gmail.com> Date: Fri May 2 05:10:35 2025 +0000 refactor: move `isValidUrl` to global util, prop/scope cleaning commit 8ea74f77dda12689e2b4df2a95d62d0fcec11e55 Author: NamesMT <dangquoctrung123@gmail.com> Date: Fri May 2 04:28:35 2025 +0000 chore: bump `roo-rocket`, `config-rocket` (fix tests) commit bbfbaa1b308d15f91e741e8e0349bb6bd7dba96a Author: NamesMT <dangquoctrung123@gmail.com> Date: Wed Apr 30 19:47:08 2025 +0000 fix: use relative path import instead commit 7274092a6b4385e6a51c251609d9016cac19b114 Author: NamesMT <dangquoctrung123@gmail.com> Date: Wed Apr 30 19:30:57 2025 +0000 fix: should display N/A instead of `All` for unknown types commit 8fbc2d95a269f2a9afe40e49a86467aa367c8fa3 Author: NamesMT <dangquoctrung123@gmail.com> Date: Wed Apr 30 16:58:16 2025 +0000 style: minor indent & import combine commit 765764790a9c055fe2ff262cc56b4289efd9c0c4 Author: NamesMT <dangquoctrung123@gmail.com> Date: Wed Apr 30 16:56:48 2025 +0000 perf: verify binary hash right after download commit bc60b426b5ff3135911a13ab8a8f3a6c520134cd Author: NamesMT <dangquoctrung123@gmail.com> Date: Wed Apr 30 16:54:27 2025 +0000 fix: resolve lint problems commit 9354a80b1a1006ac15020a03e8b980ee51897db3 Author: NamesMT <dangquoctrung123@gmail.com> Date: Wed Apr 30 16:48:39 2025 +0000 fix: bump version and lockfile, adjust import commit 6a4dc46c80bbf413e4ec573384ebe91b266cbcbb Merge: 29d73dce 324be54e Author: JB Brown <jb.brown@smartsheet.com> Date: Tue Apr 29 06:57:25 2025 -0700 Merge pull request #5 from NamesMT/marketplace/roo-rocket feat: marketplace install MVP commit 324be54e4eddc9073a39aa1600628cf2abbeb9fe Author: NamesMT <dangquoctrung123@gmail.com> Date: Mon Apr 28 15:02:59 2025 +0000 chore: minor rewording commit 086523655babb910c5ea9cb2acdf3d7786ab9fd2 Author: NamesMT <dangquoctrung123@gmail.com> Date: Mon Apr 28 14:48:52 2025 +0000 feat: working CLI interactive install mode commit 3ac4bf61f2dfa492131e87cb9b4842185c925685 Author: NamesMT <dangquoctrung123@gmail.com> Date: Mon Apr 28 12:16:35 2025 +0000 feat: binary configurable pack detection, auto-select installation method commit 3539550b0c78e8554e7ec483072912c0eab3d984 Author: NamesMT <dangquoctrung123@gmail.com> Date: Mon Apr 28 10:52:04 2025 +0000 feat: delegate the hooks declaration to `roo-rocket`, prepare for CLI feat commit 26be7b3ac79d7d16f8cb8fb4ac05e5469e6f6a0c Author: NamesMT <dangquoctrung123@gmail.com> Date: Mon Apr 28 07:54:10 2025 +0000 fix: should not require workspace folder for `global` install (+ formatting) commit 74a0c44d59259cede9a29e85125d514ba0c7e257 Author: NamesMT <dangquoctrung123@gmail.com> Date: Mon Apr 28 06:57:39 2025 +0000 feat: marketplace supports global install commit 04d7360da972b6f52744eb8c19064f968c5f9952 Author: NamesMT <dangquoctrung123@gmail.com> Date: Sun Apr 27 20:41:07 2025 +0000 fix: correct error message commit 52b653f27164f7bde1d1e7da57fec42b9f088b50 Author: NamesMT <dangquoctrung123@gmail.com> Date: Sun Apr 27 20:24:07 2025 +0000 feat: marketplace install MVP commit 29d73dce4cf0ffeb3449085be869c69d5412e164 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Sun Apr 27 00:11:00 2025 -0400 Knip fixes commit 0e7a14e68a60f194d0567f928b8b084000dbea90 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Sun Apr 27 00:02:10 2025 -0400 Shouldn't need to change this commit 1a6a41d8c0dc64bb762565e972e96834ef9d2d00 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Sat Apr 26 23:54:16 2025 -0400 Revert unrelated changes commit c9449ca2fe898867b12de0e7a6b289b95a62af3f Merge: 4f5b04b6 1924e10e Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Sat Apr 26 23:51:13 2025 -0400 Merge remote-tracking branch 'origin/main' into jbbrown/marketplace commit 1924e10e72051e81e60e84b1c3f9b012b47357da Author: Chris Estreich <cestreich@gmail.com> Date: Sat Apr 26 09:45:26 2025 -0700 Fix all linter errors (and fix the lint scripts too) (#2958) commit 418791a743f895f6ca2586f25d0f6215370295e3 Author: Julio Navarro <julioocz@gmail.com> Date: Sat Apr 26 08:46:05 2025 -0400 Fix: custom modes export import (#2810) * Enhance export method in ContextProxy to filter out project custom modes, ensuring only global settings are included in the export. * Fix issue of customModes not being imported when importing settings. The problem was that the Custom modes are managed by the CustomModesManager, not by the context proxy. * * Fix tests * Update webviewMessageHandler to provide customModeManager to importSettings commit 42c1f5f88280edb2568775157e1a7196f27c91b1 Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Fri Apr 25 21:03:17 2025 -0700 Changeset version bump (#2957) * changeset version bump * Update package.json * Update package-lock.json * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> commit d6860e1114f552d4b5c45c1968458c4bf79768bf Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Apr 25 23:53:45 2025 -0400 Update contributors list (#2946) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> commit 5b99e4d50dca78085286c29205621df1d9267af7 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Fri Apr 25 23:51:13 2025 -0400 Updated tips (#2961) * Updated tips * Changeset commit 83133c6e6dc54c752f441889cf7de5c85e170406 Author: Sacha Sayan <sacha.sayan@gmail.com> Date: Fri Apr 25 22:39:11 2025 -0400 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> commit de22566ea299246afae1e19e9ca174d953539756 Author: Tony Zhang <157202938+zhangtony239@users.noreply.github.com> Date: Sat Apr 26 08:13:13 2025 +0800 Fix: word wrapping in Roo message title (#2948) commit e3d55a36ac309ee42d9f4f9e4a85aca25d38248e Author: shariqriazz <ishariqriaz@gmail.com> Date: Fri Apr 25 15:49:19 2025 -0700 docs: fix file paths in settings.md (#2930) commit c8b5cdf7b225e5064e530adfba0b6cf9ffe89bfe Author: Chris Estreich <cestreich@gmail.com> Date: Fri Apr 25 15:24:03 2025 -0700 Omit reasoning params for non-reasoning models (#2932) commit cb29e9d56f8cdccb7ad0c1820021f2946817aa92 Author: Chris Estreich <cestreich@gmail.com> Date: Fri Apr 25 15:23:25 2025 -0700 Remove ModelInfo objects from settings (#2939) commit a354c01b0e71001f7d90f86ac7a4688056c97fbf Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Fri Apr 25 16:06:50 2025 -0400 Add Boomerang as a default mode (#2934) * Add Boomerang as a default mode * Rename boomerang, add emoji commit 547874eed788f21fe4fdf674eaecd34491bf3c3b Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Fri Apr 25 16:04:38 2025 -0400 Revert "Fix: Preserve editor state and prevent tab unpinning during diffs" (#2956) Revert "Fix: Preserve editor state and prevent tab unpinning during diffs (#2…" This reverts commit c2dd743aeb2c8e22818e7a5880ce61d26c6ea1fb. commit 06db54730877052b38538aa3be98057065ee07a8 Author: Chris Estreich <cestreich@gmail.com> Date: Fri Apr 25 10:32:35 2025 -0700 Use a WASM-based tiktoken implementation (#2859) * Use a WASM-based tiktoken implementation * Clean up imports commit 7e76736e13787425160c87133e038f147aac04cd Author: pugazhendhi-m <132246623+pugazhendhi-m@users.noreply.github.com> Date: Fri Apr 25 17:06:25 2025 +0530 Updates default model for Unbound (#2944) * Updates default model for Unbound * Adds changeset --------- Co-authored-by: Pugazhendhi <pugazhendhi@unboundsecurity.ai> commit 586e43bd557db9932bb3d0ba8b9232c049318c93 Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Thu Apr 24 16:41:26 2025 -0700 Changeset version bump (#2926) * changeset version bump * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <cestreich@gmail.com> commit 0dfbae64f3d8f9d90b5ea1fdea647f66b5c27341 Author: Chris Estreich <cestreich@gmail.com> Date: Thu Apr 24 16:34:22 2025 -0700 Allow users to toggle Gemini caching on / off for OpenRouter (#2927) commit 5c2511e3554c0514db3eeb7ee06ee04c8a59c378 Author: KJ7LNW <93454819+KJ7LNW@users.noreply.github.com> Date: Thu Apr 24 16:28:09 2025 -0700 feat: compress terminal output with backspace characters (#2907) Follow-up to #2562 adding support for backspace character compression. Optimizes terminal output by handling backspace characters similar to carriage returns, improving readability of progress spinners and other terminal output that uses backspace for animation. - Added processBackspaces function using efficient indexOf approach - Added comprehensive test suite for backspace handling - Integrated with terminal output compression pipeline Signed-off-by: Eric Wheeler <roo-code@z.ewheeler.org> Co-authored-by: Eric Wheeler <roo-code@z.ewheeler.org> commit 23aa3b636b040dd782f49eb45885791eb58162c6 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Apr 24 19:26:00 2025 -0400 Update contributors list (#2903) docs: update contributors list [skip ci] Co-authored-by: cte <cte@users.noreply.github.com> commit a3f1a3f3ad33dfd3f27924fc40ae0456b0438e7d Author: Chris Estreich <cestreich@gmail.com> Date: Thu Apr 24 14:20:09 2025 -0700 Gemini caching improvements (#2925) commit 7f99c0691e4822b5efebe7a9aeb286efe3260d2f Author: asychin <asychin@crypton.studio> Date: Fri Apr 25 03:03:30 2025 +0700 feat/add-russian-lang (#2909) * rus * sad * fix lang * Add ru to translate mode instructions * Add ru to evals types * Add link to READMEs * Bring back smart quotes * Add prompt caching translations --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> commit b75379bed39148562bbca1b55b2796072b517b64 Author: Chris Estreich <cestreich@gmail.com> Date: Thu Apr 24 12:29:36 2025 -0700 Improve OpenRouter model fetching (#2922) commit ad4782b766e58308c4927438528a4c0d7af358af Author: Chris Estreich <cestreich@gmail.com> Date: Thu Apr 24 12:28:43 2025 -0700 Add an option to enable prompt caching (#2924) commit 31600ed3c9b9decb87e9ddff81b0e6177c07a257 Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Thu Apr 24 09:27:32 2025 -0700 Changeset version bump (#2919) * changeset version bump * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <cestreich@gmail.com> commit d46a9b484c739bfa0bc25495d9561439f2a4cfce Author: Chris Estreich <cestreich@gmail.com> Date: Thu Apr 24 09:24:56 2025 -0700 v3.14.1 (#2920) commit fb9183620394ffb9567c1bfba3fe6caa83af94f1 Author: Chris Estreich <cestreich@gmail.com> Date: Thu Apr 24 09:15:56 2025 -0700 Revert Gemini caching, fix OR supports cache issue (#2918) commit 9b739658678e5f2aa1bcd8beb6c69bc635704bb4 Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Wed Apr 23 21:51:24 2025 -0700 Changeset version bump (#2877) * changeset version bump * Update CHANGELOG.md * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> commit 2e9b1f1824c64e532f9bf4281f8676ff59d08857 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Thu Apr 24 00:44:24 2025 -0400 v3.14.0 (#2902) commit 37a8a442ac0ff49f4d8bf702919e001401918922 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Apr 24 00:31:27 2025 -0400 Update contributors list (#2871) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> commit b5ffaf1ba2f6561f714f666397e1e942a1664857 Author: Yikai Liao <lyk-boya@outlook.com> Date: Thu Apr 24 12:22:47 2025 +0800 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> commit 3b65023d0b7e1470c46788f070519a8b16a41be9 Author: axb <uaxb@hotmail.com> Date: Thu Apr 24 12:12:07 2025 +0800 feat(diff): improve progress indicator for apply_diff tool (#2758) Add animated dots to progress indicator based on content length Optimize when progress updates are shown (every 10 characters) Move searchBlockCount calculation inside conditional blocks Skip unnecessary ask operations when toolProgressStatus is empty commit c228e638b993ab844a876008e694513f221f7fba Author: Hannes Rudolph <hrudolph@gmail.com> Date: Wed Apr 23 15:43:36 2025 -0600 Update insert_content tool description for clarity and detail (#2892) commit 41db2cad4312378ff9d87e52e177772108ad7727 Author: Hannes Rudolph <hrudolph@gmail.com> Date: Wed Apr 23 15:42:59 2025 -0600 Update search_and_replace tool description for clarity and detail (#2891) commit a53f604e3ae663a714b8cfaaf9ee3287af47b80f Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Wed Apr 23 16:46:52 2025 -0400 Disable OpenRouter Gemini caching for now (#2890) commit 03925d25b0cae7ccdfe46fb3ed1b1669ab4f8b36 Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 23 13:26:59 2025 -0700 Fix code cli flag in evals (#2889) commit 1543713c32895adb3ea5c39f9e4984b74cc80a77 Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 23 13:24:22 2025 -0700 Don't immediately show an model ID error when changing API providers (#2888) commit 2c40224f6f86445d4a7ebb83cb71a37b8960b656 Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 23 12:20:13 2025 -0700 Fix task size cache TTL (#2887) commit 72962b3c763e2ef06cbbbe40e62eb193985aa2dc Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 23 12:09:24 2025 -0700 Split api and chat message persistence into a separate module (#2866) commit 230e953e5d62d4abee3c713dbb5dc4c2b50362cc Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 23 11:42:22 2025 -0700 Throttle calls to calculate task folder size (#2885) commit b421636a2c6c1c5fbf9f2e035fa5d67847c6e162 Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 23 11:41:06 2025 -0700 Properly hide cache section of task header (#2884) commit a08461a6552ad3ddda6102fd4471fedd64f10465 Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 23 11:35:50 2025 -0700 Gemini prompt caching (#2827) commit 31d4b656d06f90d826238f18854161c32ddcbc6e Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 23 11:21:35 2025 -0700 Package material icons in vsix (#2882) * Package material icons in vsix * Add changeset commit a77be28a95dd1049e59eb577e3a55239c98cfe07 Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 23 11:16:20 2025 -0700 Use formatLargeNumber on token counts in task header (#2883) * Format large numbers * Add changeset commit 970ccd7879c6f6df915dfab05cc7bfecd448a0f7 Author: Daniel <57051444+daniel-lxs@users.noreply.github.com> Date: Wed Apr 23 12:21:32 2025 -0500 feat: add other useful variables to the custom system prompt (#2879) commit 4606e9a6cca8c838044b3c3a2b0fd5c419a12d41 Author: Dicha Zelianivan Arkana <51877647+elianiva@users.noreply.github.com> Date: Wed Apr 23 22:57:50 2025 +0700 fix(chat): better loading feedback (#2750) * fix(chat): better loading feedback * fix(chat): missing loading aria role Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * refactor(chat): use vscode loading for more consistency --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> commit 80912d0919005afab6eb101e3358d19291e595aa Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Wed Apr 23 09:47:19 2025 -0400 v13.3.3 (#2876) commit a9ca17717c438ffffb22e1776ce20f9e1a85ca7d Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 23 06:45:57 2025 -0700 OpenRouter Gemini caching (#2847) * OpenRouter Gemini caching * Fix tests * Remove unsupported models * Clean up the task header a bit * Update src/api/providers/openrouter.ts Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Remove model that doesn't seem to work --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> commit e53d299acf922395acf7b7b99a9a0230580dd4d9 Author: mlopezr <mlopezr@users.noreply.github.com> Date: Wed Apr 23 15:36:50 2025 +0200 Allow Amazon Bedrock Marketplace ARNs (#2874) * Update validate.ts Allow ARNs from Bedrock Marketplace, which are different because models are deployed using SageMaker Inference behind the scenes. * Update bedrock.ts Allow ARNs from Bedrock Marketplace, which are different because models are deployed using SageMaker Inference behind the scenes. commit 844753e0d99e1927a5ec6fec14abe2dcecc1334f Author: Dominik Oswald <6849456+d-oit@users.noreply.github.com> Date: Wed Apr 23 15:34:32 2025 +0200 Remove unnecessary cost calculation from vscode-lm.ts (#2875) * feat: Removed unnecessary cost calculation * Update vscode-lm.ts --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> commit 74faacd69d9d767d0fb6ef9d0c9d2ba01957838b Author: Wojciech Kordalski <wkordalski@pm.me> Date: Wed Apr 23 10:42:06 2025 +0200 FakeAI "controller" object must not be copied (#2463) The FakeAI object passed by the user must be exactly the same object that is passed to FakeAIHandler via API configuration. Unfortunatelly, as the VSCode global state is used as configuration storage, we lose this property (VSCode global state creates copies of the object). Also the class of the stored object is lost, so methods of the object are unavailable. Therefore, we store the original objects in global variable and use ID field of FakeAI object to identify the original object. commit e403a96e668da8962e5d0ef03ad328f153e279a6 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed Apr 23 03:14:08 2025 -0400 Update contributors list (#2867) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> commit 01a7a66ca0d82acf2843f942713edb2551920f0f Author: Trung Dang <dangquoctrung123@gmail.com> Date: Wed Apr 23 14:13:04 2025 +0700 feat: add `injectEnv` util, support env ref in mcp config (#2679) * feat: support environment variables reference in mcp `env` config * tests(src/utils/config): add test for `injectEnv` * fix(injectEnv): use `env == null` and `??` check instead of `!env`, `||` * refactor: remove unnecessary type declare * chore!: simplify regexp, remove replacement for env vars with dots commit 3df9eac5b7798fe6426a79ccceff9034d1406240 Author: Dicha Zelianivan Arkana <51877647+elianiva@users.noreply.github.com> Date: Wed Apr 23 14:09:29 2025 +0700 fix(mention): conditionally remove aftercursor content (#2732) commit 33ee5d6c34ce324441beecafa55dfea98eaa829b Author: hongzio <11085613+hongzio@users.noreply.github.com> Date: Wed Apr 23 16:06:48 2025 +0900 Fix: focusInput open roo code panel (#2626) (#2817) * Fix: focusInput open roo code panel (#2626) * Fix: `roo-cline.focusInput` open roo code panel * fixup! Fix: focusInput open roo code panel (#2626) commit 3a5913ffca4db48f3abb60920ff292690eec4ff8 Author: Alfredo Medrano <alfredomedranosanchez@gmail.com> Date: Wed Apr 23 01:05:47 2025 -0600 Bugfix/fix vscodellm model information (#2832) * feat: initialize VS Code Language Model client in constructor * feat: add VS Code LLM models and configuration * feat: integrate VS Code LLM models into API configuration normalization * Fix tests --------- Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> commit c2dd743aeb2c8e22818e7a5880ce61d26c6ea1fb Author: seedlord <boklu@hotmail.de> Date: Wed Apr 23 08:45:35 2025 +0200 Fix: Preserve editor state and prevent tab unpinning during diffs (#2857) - Maintains editor view column state when closing and reopening files during diff operations, ensuring tabs stay opened in their original position. - Prevents closing the original editor tab when opening the diff view, preserving pinned status when applying changes via write_to_file or apply_diff. - Updates VSCode workspace launch flag from -n to -W for compatibility. commit 3d129e8a8900954a1155756f3f948f9d267b4341 Author: Hannes Rudolph <hrudolph@gmail.com> Date: Wed Apr 23 00:35:10 2025 -0600 fix: allow opening files without workspace root (#1054) * fix: allow opening files without workspace root The openFile function in open-file.ts was requiring a workspace root to be present, which prevented opening global files (like MCP settings) when no workspace was open. Modified the function to handle absolute paths without this requirement. Previously, trying to open MCP settings in a new window without a workspace would error with "Could not open file: No workspace root found". Now the function properly handles both workspace-relative and absolute paths, allowing global settings files to be accessed in any context. Changes: - Removed workspace root requirement in openFile - Added fallback for relative paths when no workspace is present * fix: update openFile function to use provided path without modification --------- Co-authored-by: Roo Code <support@roo.vet> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> commit 0f64849542e50d8b322c64966ec6419e684f4143 Author: Daniel <57051444+daniel-lxs@users.noreply.github.com> Date: Wed Apr 23 00:09:14 2025 -0500 feat: allow variable interpolation into the custom system prompt (#2863) * feat: allow variable interpolation into the custom system prompt * fix: allow the test to pass on windows by using the path module commit c6f91a3b2f8f70373e3a3a478fb06f9a99611946 Author: System233 <cdkeylzh@outlook.com> Date: Wed Apr 23 03:40:33 2025 +0800 Fix error message not showing after canceling API request (#2845) commit 1a376c262ef20b694f84093119b5c50b8eb1762e Author: Dicha Zelianivan Arkana <51877647+elianiva@users.noreply.github.com> Date: Wed Apr 23 02:39:45 2025 +0700 [DRAFT] feat(menu): use material icons for files and folders (#2739) feat(menu): use material icons for files and folders commit 4f5b04b6c9f5deb8190649eb80491f4f97a21e87 Merge: 2c6ef8a1 62d55893 Author: JB Brown <jb.brown@smartsheet.com> Date: Tue Apr 22 12:30:06 2025 -0700 Merge pull request #4 from Smartsheet-JB-Brown/hobbsessr/fix-marketplace-redraw-issue Hobbsessr/fix marketplace redraw issue commit 62d5589397449ea1aeaba480cc09142dff03bc6a Author: HobbesSR <20545418+HobbesSR@users.noreply.github.com> Date: Tue Apr 22 12:16:01 2025 -0500 Fix marketplace tab switching and redraw issue that occurred every 30 seconds commit 0d561f8a27e592c9ef917649dc47822a86dd637b Author: System233 <cdkeylzh@outlook.com> Date: Tue Apr 22 22:12:29 2025 +0800 Fix redundant 'TASK RESUMPTION' prompts (#2842) commit 8ac911244c6b0446fc14059b1444ecaa78d44136 Author: System233 <cdkeylzh@outlook.com> Date: Tue Apr 22 22:10:34 2025 +0800 Fix user feedback not being added to conversation history in API error state (#2844) Fix user feedback not being added to conversation history in the API error state commit f1c79759a0aae136a27aa48c4a2eff509d01cecf Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Tue Apr 22 00:15:46 2025 -0400 Add line wrapping to MCP arguments (#2831) commit 3e2d20f37c47cd0a9ba53d15db97aa0207d40908 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Mon Apr 21 22:57:58 2025 -0400 Search and replace fixes (#2830) * Allow replacing with an empty string * Visual cleanup commit 8b5d48013e0724bed5b0cc0acb663af50b8aa2bf Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Mon Apr 21 22:39:39 2025 -0400 Fix MCP hub lookup during view transition (#2829) commit b6ea9d14655d27ce9a92dd5ecce275bb291600cf Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon Apr 21 21:22:54 2025 -0400 Update contributors list (#2803) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> commit ff5430a95c5d86fa1c51cd351ced390a7e55586c Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Mon Apr 21 21:18:25 2025 -0400 Try adding better errors for write_to_file truncated output (#2821) commit f06567d579cf180d8d9ccefd349f3225e3589605 Author: Sam Hoang Van <samhv.ict@gmail.com> Date: Tue Apr 22 03:49:27 2025 +0700 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> commit 80b298492cf2a755deb027583bc291d9b00b83fb Author: Sam Hoang Van <samhv.ict@gmail.com> Date: Tue Apr 22 02:25:03 2025 +0700 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 commit 61e23cccb6f2c8160a2ec42c79cf05466b125542 Author: Chris Estreich <cestreich@gmail.com> Date: Mon Apr 21 11:04:35 2025 -0700 Record tool use errors encountered during eval runs (#2816) commit a244a9dc2156f79bb22eb7cd19e4a3edc2c74ff5 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Mon Apr 21 13:54:02 2025 -0400 Fix a bad search/replace when moving tools into their own files (#2815) commit b955dbc1fcb2cd11a52f8d8968248441acd967a2 Author: Daniel Trugman <dtrugman@gmail.com> Date: Mon Apr 21 16:56:02 2025 +0100 Requesty models behind api key (#2813) * Don't fetch Requesty models on startup, only when opening settings * Provide api key when fetching models commit f1c3edeb75a31e69a4f23bde0fb3ccf2cdbb09b4 Author: Felix NyxJae <52313587+NyxJae@users.noreply.github.com> Date: Mon Apr 21 21:27:24 2025 +0800 Fix: Improve drag-and-drop and SSH path handling (#2808) * Fix: Correct path handling for dragged files on Windows * Fix: Improve drag-and-drop and SSH path handling commit 29137fbfec190005e31b704f00b98e6640e7e2e3 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Mon Apr 21 00:24:52 2025 -0400 Revert changes on omitted line count in write_to_file (#2807) commit 2c6ef8a1849563adafd7814151cc4134c4e3fd0d Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Sun Apr 20 20:56:53 2025 -0700 allow relative path from pacakge items to outside of packages directory commit 19df13c760d8ee8bd5b9b6020127420b9f300b46 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Sun Apr 20 23:28:19 2025 -0400 Add a warning display when a system prompt override is active (#2804) commit d2e5019f885bedad900146daad757ee3c268bdcb Author: Dicha Zelianivan Arkana <51877647+elianiva@users.noreply.github.com> Date: Mon Apr 21 09:04:23 2025 +0700 fix(icons): use geometricPrecision to avoid blurriness (#2756) commit 47230d5a5c5acca6f13e16078db80cc28c7fc1bb Author: Dicha Zelianivan Arkana <51877647+elianiva@users.noreply.github.com> Date: Mon Apr 21 08:46:01 2025 +0700 fix(action): handle edge case for add to context action (#2780) commit 612b9481932311175da81208e3ab86b9901499a5 Author: Sacha Sayan <sacha.sayan@gmail.com> Date: Sun Apr 20 21:38:08 2025 -0400 Refactor: Use path aliases in webview source files. (#2801) * Refactor: Use path aliases in webview source files. * Add module resolution to root jest config. * Add tests. Broken import. Another broken import. Broken test. commit cf54c7d82001ba1a1d358211385295fa29cce0a2 Author: Sacha Sayan <sacha.sayan@gmail.com> Date: Sun Apr 20 21:19:42 2025 -0400 Quickfix: Change cloud-download icon to more appropriate desktop-download icon. (#2802) commit eeb73c3c0663d3535d6c1f80ba823770bd9c1f9b Author: Nico Bihan <nicolas.bihan@wellsky.com> Date: Sat Apr 19 23:30:20 2025 -0500 Adds Gemini 2.5 Flash "thinking" model to Vertex AI Provider (#2794) commit ed102d1850d5948f75e497dd154a8197e7ff7ccb Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Sat Apr 19 15:43:27 2025 -0400 Remove the strict line bounds check from the diff (#2790) commit 2205606118a624998885049779f9dd5c9b8c8fd3 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Sat Apr 19 14:26:35 2025 -0400 Remove globby as it's no longer used (#2788) commit 5d0aa20f9744c5943e2e207e4b77c6c3bdb00030 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Sat Apr 19 14:13:45 2025 -0400 Switch list files from globby to ripgrep (#2689) * Switch list files from globby to ripgrep * PR feedback * PR fix commit c5f48a8bc68a67fbe01e82bf9a8b04449eb5c69e Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Fri Apr 18 21:14:30 2025 -0700 Changeset version bump (#2777) * changeset version bump * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <cestreich@gmail.com> commit 8c18727f9a16f42799f6bb83e42b61382f1d9280 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Apr 18 21:13:43 2025 -0700 Update contributors list (#2779) docs: update contributors list [skip ci] Co-authored-by: cte <cte@users.noreply.github.com> commit e74b69dfbc29e258c9ea41676cf7fa6350e63b4c Author: Chris Estreich <cestreich@gmail.com> Date: Fri Apr 18 21:01:21 2025 -0700 v3.13 announcement (#2778) * v3.13 announcement * Update README.md * Update lastShownAnnouncementId * Tweak copy commit c10600e35445e048c9b8302be51df502b5e886da Author: Chris Estreich <cestreich@gmail.com> Date: Fri Apr 18 19:25:42 2025 -0700 Pass baseURL to Gemini API if googleGeminiBaseUrl is set (#2776) commit b8b90737fa707eaf4f0512fbf1a3d5a6320571be Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Fri Apr 18 17:39:24 2025 -0700 Changeset version bump (#2768) * changeset version bump * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Chris Estreich <cestreich@gmail.com> commit 5eaf8ba876a877a75c4c7b5259ae6e46badaec41 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Fri Apr 18 16:48:28 2025 -0700 fix regex in response to security scan concern in CI build commit 130493e43da06d72fc4d602654d7ebee062cfaa5 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Fri Apr 18 15:25:35 2025 -0700 fix renaming bug for locales commit 2a5d472f0d6da33db69e12e4835c06bf61461b2c Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Apr 18 15:14:38 2025 -0700 Update contributors list (#2770) docs: update contributors list [skip ci] Co-authored-by: cte <cte@users.noreply.github.com> commit d5fe876c9bdae660cd3cb2645773f051b7876b77 Author: Chris Estreich <cestreich@gmail.com> Date: Fri Apr 18 14:56:01 2025 -0700 v3.13.1 (#2774) commit 1a05a4190f20e315d81f6fc3bd95d09e317a5213 Merge: a122dc74 96ff9fc3 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Fri Apr 18 14:52:12 2025 -0700 Merge branch 'main' into jbbrown/marketplace commit a122dc7465842fde16d870106b50028824202dcc Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Fri Apr 18 11:08:21 2025 -0700 fix failing tests from state management changes commit 96ff9fc380ee1f627ede849b8589a422f401fb3a Author: Chris Estreich <cestreich@gmail.com> Date: Fri Apr 18 14:43:27 2025 -0700 Fix pricing for Gemini 2.5 Flash (Thinking) (#2773) * Fix pricing for Gemini 2.5 Flash (Thinking) * Looks like it's actually $3.50 * We aren't honoring custom thinking token budgets on Vertex yet commit f6e4e3504f76f34c6381972500a4e64a83ac4780 Author: Chris Estreich <cestreich@gmail.com> Date: Fri Apr 18 14:43:04 20 C403 25 -0700 Move executeCommand out of Cline and add telemetry for shell integration errors (#2771) commit 0bb5ec18c56b0f8bc28579c3b9c028372b6b23d5 Author: Sacha Sayan <sacha.sayan@gmail.com> Date: Fri Apr 18 16:43:03 2025 -0400 UI: Auto-approve toggle styling tweak. (#2769) commit 5abea50cf1ba25a1984aa643c0ebbc269a2df7d2 Author: Chris Estreich <cestreich@gmail.com> Date: Fri Apr 18 12:26:17 2025 -0700 Support Gemini 2.5 Flash thinking (#2752) commit 968e19047bfbe8df117c377b2acd37fe668f811e Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Fri Apr 18 10:23:02 2025 -0700 rebrand to Marketplace commit 6772306ade0aa93d6905667a0bf92c57525f9f2c Author: Felix NyxJae <52313587+NyxJae@users.noreply.github.com> Date: Fri Apr 18 22:29:32 2025 +0800 Fix: Correct path handling for dragged files on Windows (#2753) commit b3065d2ab3fef48b8ba6d663aba1d3159b140b54 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri Apr 18 03:09:14 2025 -0400 Update contributors list (#2715) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> commit 31656d9b16c3d0d2dd3789cb93f039b37a26b277 Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Thu Apr 17 23:47:41 2025 -0700 Changeset version bump (#2716) * changeset version bump * Update CHANGELOG.md * Update package.json * Update package-lock.json --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> commit c329b4509f3d1c98baf13ee89102a8df10aa90ff Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Fri Apr 18 02:29:13 2025 -0400 v3.12.4 (#2745) commit 06882f56872729bc5cb09862e2b3fb548e491f04 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Fri Apr 18 02:23:55 2025 -0400 Don't break if an end_line is passed into a diff (#2743) commit 87af3b3424b9e6a36bd7b93689dbb80003a8ccd4 Author: Chris Estreich <cestreich@gmail.com> Date: Thu Apr 17 22:21:14 2025 -0700 Record tool usages in the `Cline` object, and persist them in the db for evals (#2729) commit 887d2ac330be25d44631f0b4c9dad4a2072c5fde Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 21:52:31 2025 -0700 fix missing translations commit 9e2476c667052a81400f43a595ff31a97996ad71 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 21:47:50 2025 -0700 attempt to fix failing test on windows in ci build commit c0f615bca77f06de54f173d6d1995c618084464a Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 21:40:26 2025 -0700 more memory pressure work commit b5a77e34a4c43af949a70e0ab237dad0ccf064df Author: Nico Bihan <nicolas.bihan@wellsky.com> Date: Thu Apr 17 23:35:06 2025 -0500 Fixes maximum token limit for Gemini provider 2.5 pro exp (#2737) Corrects the maximum token limit for the "gemini-2.5-pro-exp-03-25" model, ensuring accurate configuration. commit fffebf1a2e6f576f0bd83fabbec9a3f3994b3403 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Fri Apr 18 00:28:55 2025 -0400 Remove experiment for append block (#2738) * Remove experiment for append block * Fix bugs in experiment lookups commit c84343dbbeffb21dacfb69ff5dbaa5c3427366a9 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 21:02:15 2025 -0700 reduce memory use during MetaDataScan commit b05c3100bd29e2adebf96d04b264862b9051e724 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Thu Apr 17 23:25:35 2025 -0400 Fix context window bar color (#2733) * Fix context window bar color * Make task header cost badge match the other ones * Fix test commit 86636526bd467fb06d8c08be311b7f09b5c2d681 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Thu Apr 17 23:25:23 2025 -0400 Update the style of the suggestions (#2734) * Update the style of the suggestions * Cleanup commit 422aed61b7d9307f739820ac5f72d6b346388aac Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 20:21:16 2025 -0700 memory optimization and revert test command in package.json to main commit bea36c897725403d4072bb160d98a32eabc8cb82 Author: Nico Bihan <nicolas.bihan@wellsky.com> Date: Thu Apr 17 22:19:40 2025 -0500 Gemini 2.5 Flash Preview fix Max Tokens Count (#2735) Gemini 2.5 Flash Preview fix Max Tokens commit 93b96c3253284c730c1f5a1ed51d751a303a9ee0 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 19:53:24 2025 -0700 attempt at memory cleanup commit 3cc3dab9e5785c202faab185a4420b74a9797f43 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 19:28:50 2025 -0700 change metadatascanner to be more memory efficient commit b7f45f7870d7253f5e00f8eea98a55bc06a0288b Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 19:23:29 2025 -0700 reduce memory usage - avoid deep copy commit a2d7f1941827712eee74c121e721e17c19b647fc Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 17:30:53 2025 -0700 round 5 commit 1cb77542e1af3c12b389cb0feb596ba5bc171a0a Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 17:25:28 2025 -0700 round 4 commit 8a9240000c485a274cb33326b8c102d5f36f0c92 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 17:20:14 2025 -0700 round 3 of locale CI fixes commit 724a2f2350aaa45e5ce8e57f8ea6e350c09be352 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 17:13:02 2025 -0700 another round of locale bugs in the CI build but not local commit 38d96fa4fb4976369c1a4070e561d8031d23d83d Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 17:06:07 2025 -0700 try to fix locale bugs that happen in CI build but not locally commit 78edc21f2e279907cf1cdc9eb1c6b133b7a7af30 Merge: 1aea6b4d 3c937c38 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 16:53:19 2025 -0700 merge main commit 1aea6b4d9b367814b96f8cfc156ac39dded27a9f Merge: 4f8799f1 92c55d54 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 15:54:34 2025 -0700 Merge hobbessr/metadatascanner-test-path-recursion-fix commit 92c55d542e67c927ac3f920b3deb53d99336c6ef Author: HobbesSR <20545418+HobbesSR@users.noreply.github.com> Date: Thu Apr 17 17:38:07 2025 -0500 Fix the MetaDataScanner.test.ts infinite recursion in its mock setup commit 3c937c38275a994913cadca2692ebc4d03d23e23 Author: Chris Estreich <cestreich@gmail.com> Date: Thu Apr 17 15:28:11 2025 -0700 Task header theme fixes (#2721) commit b077267b4a9b8762174d559efe0f198c5ce5e225 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 15:25:11 2025 -0700 fixes image support in bedrock. regression from prompt cache implementation (#2723) fixes image support in bedrock. regression created during prompt caching implementation commit d86d601104c94d408f7316b7497e3bc9862ffb19 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Thu Apr 17 16:39:00 2025 -0400 Add gemini 2.5 flash preview (#2720) commit 4f8799f1697b7e9a9aa1d635afeb4a9aab5f426e Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 13:32:08 2025 -0700 fix localization bugs commit 471caff000984f8a06e22776f9daadf1cfc2dee7 Author: Chris Estreich <cestreich@gmail.com> Date: Thu Apr 17 13:31:48 2025 -0700 Clean up types related to tools (#2719) commit 026091e4323ce5e40cced4c64608053ea6870f98 Author: Hannes Rudolph <hrudolph@gmail.com> Date: Thu Apr 17 14:18:50 2025 -0600 Fix filename format in downloadTask function for markdown export (#2717) * Fix filename format in downloadTask function for markdown export * Update src/integrations/misc/export-markdown.ts Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> commit 1853ebaa9c4f70eec48daa2b68e69acfe2fe264c Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Thu Apr 17 12:59:13 2025 -0700 add sourceUrl to support packages hosted external to the package manager repo commit 1e0e01b9f3d1d0955e14901393920c2da9833c8b Author: Sam Hoang Van <samhv.ict@gmail.com> Date: Fri Apr 18 02:58:22 2025 +0700 feat: add append_to_file tool for appending content to files (#2712) - Implemented the append_to_file tool to allow users to append content to existing files or create new ones if they do not exist. - Updated the rules and instructions to include the new tool. - Added tests for the append_to_file functionality, covering various scenarios including error handling and content preprocessing. - Enhanced the experiment schema to include the new append_to_file experiment ID. - Updated relevant interfaces and types to accommodate the new tool. - Modified the UI to display the append_to_file tool in the appropriate sections. commit d3c37eaec8456f323f2beae971061c0dc9df8e85 Author: Chris Estreich <cestreich@gmail.com> Date: Thu Apr 17 10:23:19 2025 -0700 Add missing translation (#2714) * Add missing translation * More translation fixes commit 159e4005e56fc87f5e634d67688f01b22bfbd256 Author: Sacha Sayan <sacha.sayan@gmail.com> Date: Thu Apr 17 12:54:55 2025 -0400 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> commit 0736379ad0260c1a17f81ee7cbbed403880b078c Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Thu Apr 17 07:45:43 2025 -0700 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> commit 94842f21af0c1b969019f6f3cf0f5cb4570ab13d Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Thu Apr 17 10:34:32 2025 -0400 v3.12.3 (#2710) commit d3ba74c568683fb012a709283ce93dec6250be56 Author: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu Apr 17 10:26:50 2025 -0400 Update contributors list (#2675) docs: update contributors list [skip ci] Co-authored-by: mrubens <mrubens@users.noreply.github.com> commit 511ebb7a9891740770ca61ef3338c3cf88bb6616 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Thu Apr 17 07:55:53 2025 -0400 Make sure the slash commands only fire if they're the first character (#2702) commit 0374436fac1edeb7a03f0e6f5c5994a5627d44c8 Author: Chris Estreich <cestreich@gmail.com> Date: Wed Apr 16 23:08:58 2025 -0700 Support xAI for evals (#2703) commit 876742a8873e18c11e30778ce12aadbf9d010961 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 21:41:30 2025 -0700 try another modification to the test script for windows out of memory errors in ci build commit 0c817af0557796b7ce4db067ff4d572c4fe0bb23 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 21:20:13 2025 -0700 increase max heap size to try and get windows passing in the CI build commit c27aa9c3701caf53d10f6253ce950ed4ccc199ae Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 21:11:51 2025 -0700 heap cleanup commit e5556dd115297d61ddde109cfb2e935a7687bed7 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 20:46:26 2025 -0700 attempt to incrase node heap size commit b7033133ad744b33f9f98e66b328a1013e4cc7dc Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 20:36:46 2025 -0700 try a path change to see if it helps the CI build pass in the GitHub environment commit 981c7a1270d5493a99e0f2335e75bc77e094ff88 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 20:27:20 2025 -0700 rework git test to see if it helps in the CI build commit 68b0a1843db07818a07f1d391bd247dc146e9140 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 20:23:12 2025 -0700 fix knip and missing translation errors commit 30c44ff14c5c090fd8c498299a0c0f3d37fd1176 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Wed Apr 16 23:04:16 2025 -0400 Support dragging and dropping tabs into chat text area (#2698) commit 6e299c73f56bbc43c8eb6bb1597a33fcd7dc56f4 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 19:28:39 2025 -0700 update documentation commit 9a24ed46a2b7336ae015d94de10c96debf18ab8e Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 18:02:38 2025 -0700 allow custom git domains to support internal dns at companies commit c2d840cc47585b8636f3403da87a8e895f09696b Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 17:08:43 2025 -0700 remove console log statements used to debug tests commit 9c28626f24cab8be4b219983dc66ba34d9cc5efc Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 16:31:24 2025 -0700 refactor: remove package manager state files commit a4a45329222f301351e64534287c9f3df3ed0d36 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 16:06:23 2025 -0700 fix typescript errors preventing succesful build commit ba5af60109027c32fe29936257274d676d42f96a Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Wed Apr 16 18:05:04 2025 -0400 Fix diff escaping issues (#2694) * Fix diff escaping issues * Potential fix for code scanning alert no. 75: Double escaping or unescaping Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> --------- Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com> commit f04487cd3ead61de22c22cbcce382da06ad5da32 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 14:35:39 2025 -0700 All but 1 test passing commit a575d25252069fdb53c717e87e0fed23ccb3d85b Merge: 0caf685b 4bf746d6 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 12:43:51 2025 -0700 Merge branch 'main' into jbbrown/package-manager * main: (161 commits) Changeset version bump (#2688) v3.12.2 (#2693) Add support for different reasoning effort (#2692) Add OpenAI o3 & 4o-mini (#2691) Add consecutive mistake count to diff error telemetry (#2687) refactor(context-menu): handle filename display better (#2684) Changeset version bump (#2683) Fix select dropdown styling (#2682) Changeset version bump (#2676) v3.12.0 (#2674) Fix configuration titles (#2672) feat: Add 'roo.acceptInput' command (#2598) Add xAI provider (#2667) Await checkpoint saves (except the initial) (#2665) Safe JSON parse in ChatRow (#2666) feat: Cost Display in Task Header - Suppress Zero Cost Values and Ensure Visibility for Gemini, OpenAI, LM Studio, and Ollama (#2662) test: limit Jest worker count to 40% per suite (#2658) DRY up the auto-approve toggles (#2664) Expose reasoning effort option for reasoning models on OpenRouter (#2483) Better string normalization for diffs (#2659) ... commit 0caf685b4fbcc1d7e3e1ad9d99e5e6ebdac4b063 Author: Smartsheet-JB-Brown <jb.brown@smartsheet.com> Date: Wed Apr 16 12:33:20 2025 -0700 rolled back unintended changes not related or needed to support package manager. first phases of build pass, but fail at type checking on things that don't seem related to what I've done commit 4bf746d63512dbd2933796edce35180ee78112a2 Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Wed Apr 16 11:52:22 2025 -0700 Changeset version bump (#2688) * changeset version bump * Update CHANGELOG.md --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> commit 454df52462db044c757d6b84564e4fba6b5a683f Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Wed Apr 16 14:47:35 2025 -0400 v3.12.2 (#2693) commit 43668e04298b1f933167a2c6c51c5218fdf76a22 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Wed Apr 16 14:16:51 2025 -0400 Add support for different reasoning effort (#2692) commit 250ea6867a65bc51fd25fca4f3d45589f7f04da9 Author: Peter Dave Hello <hsu@peterdavehello.org> Date: Thu Apr 17 02:10:10 2025 +0800 Add OpenAI o3 & 4o-mini (#2691) Reference: - https://platform.openai.com/docs/models/o3 - https://platform.openai.com/docs/models/o4-mini - https://openai.com/index/introducing-o3-and-o4-mini/ commit 9d761e23e2cfeb303750dfb056169cb9327c6591 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Wed Apr 16 12:02:49 2025 -0400 Add consecutive mistake count to diff error telemetry (#2687) commit 1d029ed0cbb722eb3e6bad85b9fdd9b522f2d610 Author: Dicha Zelianivan Arkana <51877647+elianiva@users.noreply.github.com> Date: Wed Apr 16 20:46:06 2025 +0700 refactor(context-menu): handle filename display better (#2684) * refactor(context-menu): handle filename display better * refactor(context-menu): reduce string computation commit c980662728904e734f657fd8c197ecb5d0018843 Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Wed Apr 16 03:44:17 2025 -0700 Changeset version bump (#2683) * 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> commit 2d360dc59e9752247af8196999ff313c78ba8eb8 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Wed Apr 16 06:40:43 2025 -0400 Fix select dropdown styling (#2682) commit 923e391bb84f54165bb1be18e09033b80873c64b Author: R00-B0T <110429663+R00-B0T@users.noreply.github.com> Date: Tue Apr 15 22:22:03 2025 -0700 Changeset version bump (#2676) * changeset version bump * Updating CHANGELOG.md format * Update CHANGELOG.md * Update package.json * Update package-lock.json * 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> commit e2d649dc5071617256ac982700255559e57b69a6 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Wed Apr 16 01:16:06 2025 -0400 v3.12.0 (#2674) commit 82df05a2975652d29a81857af8eca81027fa1927 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Tue Apr 15 23:09:18 2025 -0400 Fix configuration titles (#2672) commit 1cca4f47c7a9614ff7add9b6db4f83f3e04894f9 Author: Aleksandr Kirillov <32141102+axkirillov@users.noreply.github.com> Date: Wed Apr 16 05:01:45 2025 +0200 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> commit 37f7d8379218f584c31f2389571f06942aeb6a6d Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Tue Apr 15 22:16:52 2025 -0400 Add xAI provider (#2667) * Add xAI provider * Add model reasoning effort * DRY this up * Handle undefined delta * Cleanup getModel to fix test * Add missing translations * Small type cleanup * Support temperature --------- Co-authored-by: cte <cestreich@gmail.com> commit 3b19d7a45510a65e55d340c0b66fe14ba24edda1 Author: Chris Estreich <cestreich@gmail.com> Date: Tue Apr 15 16:57:12 2025 -0700 Await checkpoint saves (except the initial) (#2665) commit 75a6bc100e0ff8b728298ebb3f9a26d86e0e98c1 Author: Matt Rubens <mrubens@users.noreply.github.com> Date: Tue …
Co-authored-by: Matt Rubens <mrubens@users.noreply.github.com> Co-authored-by: Smartsheet-JB-Brown <Smartsheet-JB-Brown@users.noreply.github.com> Co-authored-by: elianiva <51877647+elianiva@users.noreply.github.com>
* refactor(marketplace): add installed tabs * fix: missing settings button * refactor(marketplace): better card UI * refactor(marketplace): better error message for sources * tests(marketplace): item card and source config * refactor(marketplace): colocate local states * refactor(marketplace): simplify tabs * test: marketplace view --------- Co-authored-by: elianiva <51877647+elianiva@users.noreply.github.com>
…lve lint warn failure
…, ensure one last update
- Add missing 'done' and 'refresh' translations - Add missing source-related translations - Add missing tab translations - Ensure proper pluralization for each language - Fix formatting and structure consistency
- Add CommonJS mock implementation of kontroll's countdown function - Add kontroll to moduleNameMapper in Jest config - Resolves 'Cannot find module kontroll' test errors
- Create CommonJS mock implementation of execa - Add execa to moduleNameMapper in Jest config - Resolves 'Cannot use import statement outside a module' error for execa
- Add regex validation to ensure version field follows semver format - Fixes schema validation test for invalid version format - Supports major.minor.patch format with optional pre-release and build metadata
…ere made but tests not kept up to date
* fix(marketplace): done should redirect to browse * test(marketplace): update outdated tests * refactor(marketplace): handle opening in non-workspace * feat(marketplace): put behind a feature flag * fix(marketplace): missing translations * fix: solve lint errors, make build-able * fix: use `cwd` instead of `filePaths` for ws detection * fix(marketplace): should dedupe items with same id from multiple registries * fix: tab cycle should not reach hidden content * fix: `mcp` filter --------- Co-authored-by: NamesMT <dangquoctrung123@gmail.com>
… button placement (#15) * refactor(marketplace): subtle 'match' style * chore: add translations * refactor(marketplace): move install ui button * test(marketplace): update outdated tests
Also solve a lint errror
5a4cc9a
to
2cf1218
Compare
Context
Ready for review and consideration for merge.
Reverted changes not needed
Deleted debug statements
Fully localized
Package manager supports localized package metadata
Package manager supports content in repo and external to it
Heavily unit tested
Worked through memory pressure issues
Merged main late on 4/17
Build passing
Well documented ... see link below
Implementation
This is too big to explain in a PR description so I've asked Roo to prepare some explanation. First for Usage, then for Implementation details.
https://github.com/Smartsheet-JB-Brown/Roo-Code/tree/jbbrown/package-manager/cline_docs/package-manager
Important
Introduces a marketplace feature with UI components, state management, localization, and comprehensive testing.
MarketplaceView
andMarketplaceViewStateManager
for managing marketplace UI and state.MarketplaceItemCard
,ExpandableSection
, andTypeGroup
components for displaying marketplace items.useStateManager
hook for managing state withMarketplaceViewStateManager
.i18next
insetup.ts
andtest-utils.tsx
.locales
directory.__tests__
directories.groupItemsByType
,formatItemText
,getTotalItemCount
, andgetUniqueTypes
ingrouping.ts
.This description was created by
for 287a7f2. You can customize this summary. It will automatically update as commits are pushed.