Skip to content

release: v7.0.3 - #71

Merged
code-crusher merged 1 commit into
mainfrom
release/v7.0.3
Oct 13, 2026
Merged

code-crusher merged 1 commit into
mainfrom
release/v7.0.3

Conversation

@code-crusher

Copy link
Copy Markdown
Member

Summary

  • Promote @vscode/ripgrep from optionalDependencies to dependencies so the prebuilt platform binary (darwin, linux, win32 across architectures) is always installed with @matterailab/orbcode.
  • Append the bundled @vscode/ripgrep bin/ directory to PATH when spawning foreground Bash commands, background Bash commands, and hooks, so rg works out of the box when not installed globally while preserving any system rg earlier on PATH.
  • Bump version to 7.0.3.

@matterai-app matterai-app Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧪 PR Review is completed: Clean release PR: moves @vscode/ripgrep into dependencies and appends the bundled rg dir to PATH for spawned shells and hooks — the implementation is well-guarded (cached resolution, Windows Path-casing aware, append-only so user binaries take precedence). Reviewed src/utils/shell.ts: no issues found. Reviewed src/core/hooks.ts: no issues found. Reviewed src/tools/executors/executeCommand.ts: no issues found. Reviewed src/tools/executors/backgroundCommands.ts: no issues found. Reviewed package.json: no issues found.

Skipped files
  • CHANGELOG.md: Skipped file pattern
⬇️ Low Priority Suggestions (1)
test/read-only-command.test.ts (1 suggestion)

Location: test/read-only-command.test.ts (Lines 57-62)

🔵 Test Robustness

Issue: The new test hard-fails via assert.ok(rgPath, "expected @vscode/ripgrep binary to resolve on this host") on any host where the platform-specific ripgrep binary isn't installed (e.g. linux-ia32, win32-ia32, openbsd — the platform packages are optionalDependencies of @vscode/ripgrep). getBundledRipgrepPath() is explicitly designed to return undefined in that case (per the catch comment in shell.ts), so npm run test:readonly breaks on those architectures instead of degrading gracefully the way the production code does.

Fix: Accept the node:test TestContext and t.skip() when the bundled binary doesn't resolve, keeping the full assertions on supported platforms.

Impact: Test suite stays green on unsupported architectures while still verifying the full PATH-exposure behavior where the binary exists.

-  test("bundled ripgrep is exposed on PATH for Bash commands", async () => {
-  	const { getBundledRipgrepDir, getBundledRipgrepPath, withBundledToolsOnPath } = await import("../src/utils/shell.js")
-  	const { executeCommand } = await import("../src/tools/executors/executeCommand.js")
-  	const rgPath = getBundledRipgrepPath()
-  	const rgDir = getBundledRipgrepDir()
-  	assert.ok(rgPath, "expected @vscode/ripgrep binary to resolve on this host")
+  test("bundled ripgrep is exposed on PATH for Bash commands", async (t) => {
+  	const { getBundledRipgrepDir, getBundledRipgrepPath, withBundledToolsOnPath } = await import("../src/utils/shell.js")
+  	const { executeCommand } = await import("../src/tools/executors/executeCommand.js")
+  	const rgPath = getBundledRipgrepPath()
+  	if (!rgPath) return t.skip("@vscode/ripgrep platform binary not installed on this host")
+  	const rgDir = getBundledRipgrepDir()

@code-crusher
code-crusher merged commit 4d9b46c into main Oct 13, 2026
1 check passed
@code-crusher
code-crusher deleted the release/v7.0.3 branch October 13, 2026 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant