Przeglądaj źródła

Merge pull request #782 from RooVetGit/safer_profile_path_check

Safer profile path check
Matt Rubens 11 miesięcy temu
rodzic
commit
08ce4826b3

+ 5 - 0
.changeset/heavy-feet-judge.md

@@ -0,0 +1,5 @@
+---
+"roo-cline": patch
+---
+
+Safer shell profile path check

+ 6 - 0
src/utils/__tests__/shell.test.ts

@@ -97,6 +97,12 @@ describe("Shell Detection Tests", () => {
 			expect(getShell()).toBe("C:\\Windows\\System32\\cmd.exe")
 		})
 
+		it("handles undefined profile gracefully", () => {
+			// Mock a case where defaultProfileName exists but the profile doesn't
+			mockVsCodeConfig("windows", "NonexistentProfile", {})
+			expect(getShell()).toBe("C:\\Windows\\System32\\cmd.exe")
+		})
+
 		it("respects userInfo() if no VS Code config is available", () => {
 			vscode.workspace.getConfiguration = () => ({ get: () => undefined }) as any
 			;(userInfo as any) = () => ({ shell: "C:\\Custom\\PowerShell.exe" })

+ 1 - 1
src/utils/shell.ts

@@ -105,7 +105,7 @@ function getWindowsShellFromVSCode(): string | null {
 	}
 
 	// If there's a specific path, return that immediately
-	if (profile.path) {
+	if (profile?.path) {
 		return profile.path
 	}