Skip to content

Commit a2e094f

Browse files
committed
Merge branch 'main' into audio
2 parents 194c920 + f70e03e commit a2e094f

File tree

11 files changed

+160
-103
lines changed

11 files changed

+160
-103
lines changed

.github/workflows/marketplace-publish.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,7 @@ jobs:
2929
git config user.name "github-actions[bot]"
3030
git config user.email "github-actions[bot]@users.noreply.github.com"
3131
- name: Install Dependencies
32-
run: |
33-
npm install -g vsce ovsx
34-
npm run install:all
32+
run: npm run install:all
3533
- name: Create .env file
3634
run: echo "POSTHOG_API_KEY=${{ secrets.POSTHOG_API_KEY }}" >> .env
3735
- name: Package Extension

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# Roo Code Changelog
22

3+
## [3.17.2] - 2025-05-15
4+
5+
- Revert "Switch to the new Roo message parser" (appears to cause a tool parsing bug)
6+
- Lock the versions of vsce and ovsx
7+
8+
## [3.17.1] - 2025-05-15
9+
10+
- Fix the display of the command to execute during approval
11+
- Fix incorrect reserved tokens calculation on OpenRouter (thanks @daniel-lxs!)
12+
313
## [3.17.0] - 2025-05-14
414

515
- Enable Gemini implicit caching

package-lock.json

Lines changed: 71 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
"displayName": "%extension.displayName%",
44
"description": "%extension.description%",
55
"publisher": "RooVeterinaryInc",
6-
"version": "3.17.0",
6+
"version": "3.17.2",
77
"icon": "assets/icons/icon.png",
88
"galleryBanner": {
99
"color": "#617A91",
@@ -342,7 +342,7 @@
342342
"test:extension-esm": "vitest run",
343343
"test:webview": "cd webview-ui && npm run test",
344344
"prepare": "husky",
345-
"publish:marketplace": "vsce publish && ovsx publish",
345+
"publish:marketplace": "npx vsce publish && npx ovsx publish",
346346
"publish": "npm run build && changeset publish && npm install --package-lock-only",
347347
"version-packages": "changeset version && npm install --package-lock-only",
348348
"vscode:prepublish": "npm run package",
@@ -441,7 +441,7 @@
441441
"@typescript-eslint/eslint-plugin": "^7.14.1",
442442
"@typescript-eslint/parser": "^7.11.0",
443443
"@vscode/test-electron": "^2.5.2",
444-
"@vscode/vsce": "^3.3.2",
444+
"@vscode/vsce": "3.3.2",
445445
"esbuild": "^0.25.0",
446446
"eslint": "^8.57.0",
447447
"execa": "^9.5.2",
@@ -454,6 +454,7 @@
454454
"mkdirp": "^3.0.1",
455455
"nock": "^14.0.4",
456456
"npm-run-all2": "^8.0.1",
457+
"ovsx": "0.10.2",
457458
"prettier": "^3.4.2",
458459
"rimraf": "^6.0.1",
459460
"ts-jest": "^29.2.5",
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,2 @@
11
export { type AssistantMessageContent, parseAssistantMessage } from "./parseAssistantMessage"
22
export { presentAssistantMessage } from "./presentAssistantMessage"
3-
export { parseAssistantMessageV2 } from "./parseAssistantMessageV2"

src/core/task/Task.ts

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,7 @@ import { SYSTEM_PROMPT } from "../prompts/system"
6060
import { ToolRepetitionDetector } from "../tools/ToolRepetitionDetector"
6161
import { FileContextTracker } from "../context-tracking/FileContextTracker"
6262
import { RooIgnoreController } from "../ignore/RooIgnoreController"
63-
import {
64-
type AssistantMessageContent,
65-
parseAssistantMessageV2 as parseAssistantMessage,
66-
presentAssistantMessage,
67-
} from "../assistant-message"
63+
import { type AssistantMessageContent, parseAssistantMessage, presentAssistantMessage } from "../assistant-message"
6864
import { truncateConversationIfNeeded } from "../sliding-window"
6965
import { ClineProvider } from "../webview/ClineProvider"
7066
import { MultiSearchReplaceDiffStrategy } from "../diff/strategies/multi-search-replace"
@@ -100,7 +96,6 @@ export type ClineEvents = {
10096
export type TaskOptions = {
10197
provider: ClineProvider
10298
apiConfiguration: ProviderSettings
103-
customInstructions?: string
10499
enableDiff?: boolean
105100
enableCheckpoints?: boolean
106101
fuzzyMatchThreshold?: number
@@ -134,7 +129,6 @@ export class Task extends EventEmitter<ClineEvents> {
134129
isPaused: boolean = false
135130
pausedModeSlug: string = defaultModeSlug
136131
private pauseInterval: NodeJS.Timeout | undefined
137-
customInstructions?: string
138132

139133
// API
140134
readonly apiConfiguration: ProviderSettings
@@ -194,7 +188,6 @@ export class Task extends EventEmitter<ClineEvents> {
194188
constructor({
195189
provider,
196190
apiConfiguration,
197-
customInstructions,
198191
enableDiff = false,
199192
enableCheckpoints = true,
200193
fuzzyMatchThreshold = 1.0,
@@ -234,7 +227,6 @@ export class Task extends EventEmitter<ClineEvents> {
234227

235228
this.urlContentFetcher = new UrlContentFetcher(provider.context)
236229
this.browserSession = new BrowserSession(provider.context)
237-
this.customInstructions = customInstructions
238230
this.diffEnabled = enableDiff
239231
this.fuzzyMatchThreshold = fuzzyMatchThreshold
240232
this.consecutiveMistakeLimit = consecutiveMistakeLimit
@@ -1417,6 +1409,7 @@ export class Task extends EventEmitter<ClineEvents> {
14171409
browserViewportSize,
14181410
mode,
14191411
customModePrompts,
1412+
customInstructions,
14201413
experiments,
14211414
enableMcpServerCreation,
14221415
browserToolEnabled,
@@ -1442,7 +1435,7 @@ export class Task extends EventEmitter<ClineEvents> {
14421435
mode,
14431436
customModePrompts,
14441437
customModes,
1445-
this.customInstructions,
1438+
customInstructions,
14461439
this.diffEnabled,
14471440
experiments,
14481441
enableMcpServerCreation,

src/core/task/__tests__/Task.test.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -275,21 +275,18 @@ describe("Cline", () => {
275275
const cline = new Task({
276276
provider: mockProvider,
277277
apiConfiguration: mockApiConfig,
278-
customInstructions: "custom instructions",
279278
fuzzyMatchThreshold: 0.95,
280279
task: "test task",
281280
startTask: false,
282281
})
283282

284-
expect(cline.customInstructions).toBe("custom instructions")
285283
expect(cline.diffEnabled).toBe(false)
286284
})
287285

288286
it("should use default fuzzy match threshold when not provided", async () => {
289287
const cline = new Task({
290288
provider: mockProvider,
291289
apiConfiguration: mockApiConfig,
292-
customInstructions: "custom instructions",
293290
enableDiff: true,
294291
fuzzyMatchThreshold: 0.95,
295292
task: "test task",

src/core/webview/ClineProvider.ts

Lines changed: 2 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import { supportPrompt } from "../../shared/support-prompt"
1818
import { GlobalFileNames } from "../../shared/globalFileNames"
1919
import { HistoryItem } from "../../shared/HistoryItem"
2020
import { ExtensionMessage } from "../../shared/ExtensionMessage"
21-
import { Mode, PromptComponent, defaultModeSlug } from "../../shared/modes"
21+
import { Mode, defaultModeSlug } from "../../shared/modes"
2222
import { experimentDefault } from "../../shared/experiments"
2323
import { formatLanguage } from "../../shared/language"
2424
import { Terminal } from "../../integrations/terminal/Terminal"
@@ -446,33 +446,21 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
446446
options: Partial<
447447
Pick<
448448
TaskOptions,
449-
| "customInstructions"
450-
| "enableDiff"
451-
| "enableCheckpoints"
452-
| "fuzzyMatchThreshold"
453-
| "consecutiveMistakeLimit"
454-
| "experiments"
449+
"enableDiff" | "enableCheckpoints" | "fuzzyMatchThreshold" | "consecutiveMistakeLimit" | "experiments"
455450
>
456451
> = {},
457452
) {
458453
const {
459454
apiConfiguration,
460-
customModePrompts,
461455
diffEnabled: enableDiff,
462456
enableCheckpoints,
463457
fuzzyMatchThreshold,
464-
mode,
465-
customInstructions: globalInstructions,
466458
experiments,
467459
} = await this.getState()
468460

469-
const modePrompt = customModePrompts?.[mode] as PromptComponent
470-
const effectiveInstructions = [globalInstructions, modePrompt?.customInstructions].filter(Boolean).join("\n\n")
471-
472461
const cline = new Task({
473462
provider: this,
474463
apiConfiguration,
475-
customInstructions: effectiveInstructions,
476464
enableDiff,
477465
enableCheckpoints,
478466
fuzzyMatchThreshold,
@@ -500,22 +488,15 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
500488

501489
const {
502490
apiConfiguration,
503-
customModePrompts,
504491
diffEnabled: enableDiff,
505492
enableCheckpoints,
506493
fuzzyMatchThreshold,
507-
mode,
508-
customInstructions: globalInstructions,
509494
experiments,
510495
} = await this.getState()
511496

512-
const modePrompt = customModePrompts?.[mode] as PromptComponent
513-
const effectiveInstructions = [globalInstructions, modePrompt?.customInstructions].filter(Boolean).join("\n\n")
514-
515497
const cline = new Task({
516498
provider: this,
517499
apiConfiguration,
518-
customInstructions: effectiveInstructions,
519500
enableDiff,
520501
enableCheckpoints,
521502
fuzzyMatchThreshold,
@@ -964,11 +945,6 @@ export class ClineProvider extends EventEmitter<ClineProviderEvents> implements
964945
async updateCustomInstructions(instructions?: string) {
965946
// User may be clearing the field.
966947
await this.updateGlobalState("customInstructions", instructions || undefined)
967-
968-
if (this.getCurrentCline()) {
969-
this.getCurrentCline()!.customInstructions = instructions || undefined
970-
}
971-
972948
await this.postStateToWebview()
973949
}
974950

src/core/webview/__tests__/ClineProvider.test.ts

Lines changed: 0 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -799,45 +799,6 @@ describe("ClineProvider", () => {
799799
expect(mockPostMessage).toHaveBeenCalled()
800800
})
801801

802-
test("uses mode-specific custom instructions in Cline initialization", async () => {
803-
// Setup mock state
804-
const modeCustomInstructions = "Code mode instructions"
805-
const mockApiConfig = {
806-
apiProvider: "openrouter",
807-
}
808-
809-
jest.spyOn(provider, "getState").mockResolvedValue({
810-
apiConfiguration: mockApiConfig,
811-
customModePrompts: {
812-
code: { customInstructions: modeCustomInstructions },
813-
},
814-
mode: "code",
815-
diffEnabled: true,
816-
enableCheckpoints: false,
817-
fuzzyMatchThreshold: 1.0,
818-
experiments: experimentDefault,
819-
} as any)
820-
821-
// Initialize Cline with a task
822-
await provider.initClineWithTask("Test task")
823-
824-
// Verify Cline was initialized with mode-specific instructions
825-
expect(Task).toHaveBeenCalledWith({
826-
provider,
827-
apiConfiguration: mockApiConfig,
828-
customInstructions: modeCustomInstructions,
829-
enableDiff: true,
830-
enableCheckpoints: false,
831-
fuzzyMatchThreshold: 1.0,
832-
task: "Test task",
833-
experiments: experimentDefault,
834-
rootTask: undefined,
835-
parentTask: undefined,
836-
taskNumber: 1,
837-
onCreated: expect.any(Function),
838-
})
839-
})
840-
841802
test("handles mode-specific custom instructions updates", async () => {
842803
await provider.resolveWebviewView(mockWebviewView)
843804
const messageHandler = (mockWebviewView.webview.onDidReceiveMessage as jest.Mock).mock.calls[0][0]

0 commit comments

Comments
 (0)