Просмотр исходного кода

fix: hide .rooignore'd files from environment details by default (#7369)

* fix: change default showRooIgnoredFiles to false to hide ignored files

- Changed default value from true to false across all files
- Updated tests to reflect the new default behavior
- This prevents ignored files from appearing in environment details

Fixes #7368

* fix: update tests to match new showRooIgnoredFiles default

* fix: update test expectation to match new showRooIgnoredFiles default value

The PR changed the default value of showRooIgnoredFiles from true to false,
so the test needs to expect false instead of true when calling formatFilesList.

---------

Co-authored-by: Roo Code <[email protected]>
Co-authored-by: daniel-lxs <[email protected]>
roomote[bot] 4 месяцев назад
Родитель
Сommit
3cb489d305

+ 1 - 1
src/__tests__/command-mentions.spec.ts

@@ -34,7 +34,7 @@ describe("Command Mentions", () => {
 			mockUrlContentFetcher, // urlContentFetcher
 			undefined, // fileContextTracker
 			undefined, // rooIgnoreController
-			true, // showRooIgnoredFiles
+			false, // showRooIgnoredFiles
 			true, // includeDiagnosticMessages
 			50, // maxDiagnosticMessages
 			undefined, // maxReadFileLine

+ 2 - 2
src/core/environment/__tests__/getEnvironmentDetails.spec.ts

@@ -78,7 +78,7 @@ describe("getEnvironmentDetails", () => {
 			experiments: {},
 			customInstructions: "test instructions",
 			language: "en",
-			showRooIgnoredFiles: true,
+			showRooIgnoredFiles: false,
 		}
 
 		mockProvider = {
@@ -173,7 +173,7 @@ describe("getEnvironmentDetails", () => {
 			["file1.ts", "file2.ts"],
 			false,
 			mockCline.rooIgnoreController,
-			true,
+			false,
 		)
 	})
 

+ 1 - 1
src/core/environment/getEnvironmentDetails.ts

@@ -253,7 +253,7 @@ export async function getEnvironmentDetails(cline: Task, includeFileDetails: boo
 				details += "(Workspace files context disabled. Use list_files to explore if needed.)"
 			} else {
 				const [files, didHitLimit] = await listFiles(cline.cwd, true, maxFiles)
-				const { showRooIgnoredFiles = true } = state ?? {}
+				const { showRooIgnoredFiles = false } = state ?? {}
 
 				const result = formatResponse.formatFilesList(
 					cline.cwd,

+ 5 - 5
src/core/mentions/__tests__/processUserContentMentions.spec.ts

@@ -51,7 +51,7 @@ describe("processUserContentMentions", () => {
 				mockUrlContentFetcher,
 				mockFileContextTracker,
 				mockRooIgnoreController,
-				true,
+				false,
 				true, // includeDiagnosticMessages
 				50, // maxDiagnosticMessages
 				100,
@@ -80,7 +80,7 @@ describe("processUserContentMentions", () => {
 				mockUrlContentFetcher,
 				mockFileContextTracker,
 				mockRooIgnoreController,
-				true,
+				false,
 				true, // includeDiagnosticMessages
 				50, // maxDiagnosticMessages
 				undefined,
@@ -110,7 +110,7 @@ describe("processUserContentMentions", () => {
 				mockUrlContentFetcher,
 				mockFileContextTracker,
 				mockRooIgnoreController,
-				true,
+				false,
 				true, // includeDiagnosticMessages
 				50, // maxDiagnosticMessages
 				-1,
@@ -293,7 +293,7 @@ describe("processUserContentMentions", () => {
 	})
 
 	describe("showRooIgnoredFiles parameter", () => {
-		it("should default showRooIgnoredFiles to true", async () => {
+		it("should default showRooIgnoredFiles to false", async () => {
 			const userContent = [
 				{
 					type: "text" as const,
@@ -314,7 +314,7 @@ describe("processUserContentMentions", () => {
 				mockUrlContentFetcher,
 				mockFileContextTracker,
 				undefined,
-				true, // showRooIgnoredFiles should default to true
+				false, // showRooIgnoredFiles should default to false
 				true, // includeDiagnosticMessages
 				50, // maxDiagnosticMessages
 				undefined,

+ 2 - 2
src/core/mentions/index.ts

@@ -83,7 +83,7 @@ export async function parseMentions(
 	urlContentFetcher: UrlContentFetcher,
 	fileContextTracker?: FileContextTracker,
 	rooIgnoreController?: RooIgnoreController,
-	showRooIgnoredFiles: boolean = true,
+	showRooIgnoredFiles: boolean = false,
 	includeDiagnosticMessages: boolean = true,
 	maxDiagnosticMessages: number = 50,
 	maxReadFileLine?: number,
@@ -270,7 +270,7 @@ async function getFileOrFolderContent(
 	mentionPath: string,
 	cwd: string,
 	rooIgnoreController?: any,
-	showRooIgnoredFiles: boolean = true,
+	showRooIgnoredFiles: boolean = false,
 	maxReadFileLine?: number,
 ): Promise<string> {
 	const unescapedPath = unescapeSpaces(mentionPath)

+ 1 - 1
src/core/mentions/processUserContentMentions.ts

@@ -12,7 +12,7 @@ export async function processUserContentMentions({
 	urlContentFetcher,
 	fileContextTracker,
 	rooIgnoreController,
-	showRooIgnoredFiles = true,
+	showRooIgnoredFiles = false,
 	includeDiagnosticMessages = true,
 	maxDiagnosticMessages = 50,
 	maxReadFileLine,

+ 1 - 1
src/core/task/Task.ts

@@ -1622,7 +1622,7 @@ export class Task extends EventEmitter<TaskEvents> implements TaskLike {
 			)
 
 			const {
-				showRooIgnoredFiles = true,
+				showRooIgnoredFiles = false,
 				includeDiagnosticMessages = true,
 				maxDiagnosticMessages = 50,
 				maxReadFileLine = -1,

+ 1 - 1
src/core/tools/listFilesTool.ts

@@ -61,7 +61,7 @@ export async function listFilesTool(
 			cline.consecutiveMistakeCount = 0
 
 			const [files, didHitLimit] = await listFiles(absolutePath, recursive, 200)
-			const { showRooIgnoredFiles = true } = (await cline.providerRef.deref()?.getState()) ?? {}
+			const { showRooIgnoredFiles = false } = (await cline.providerRef.deref()?.getState()) ?? {}
 
 			const result = formatResponse.formatFilesList(
 				absolutePath,

+ 2 - 2
src/core/webview/ClineProvider.ts

@@ -1850,7 +1850,7 @@ export class ClineProvider
 			telemetrySetting,
 			telemetryKey,
 			machineId,
-			showRooIgnoredFiles: showRooIgnoredFiles ?? true,
+			showRooIgnoredFiles: showRooIgnoredFiles ?? false,
 			language: language ?? formatLanguage(vscode.env.language),
 			renderContext: this.renderContext,
 			maxReadFileLine: maxReadFileLine ?? -1,
@@ -2043,7 +2043,7 @@ export class ClineProvider
 			openRouterUseMiddleOutTransform: stateValues.openRouterUseMiddleOutTransform ?? true,
 			browserToolEnabled: stateValues.browserToolEnabled ?? true,
 			telemetrySetting: stateValues.telemetrySetting || "unset",
-			showRooIgnoredFiles: stateValues.showRooIgnoredFiles ?? true,
+			showRooIgnoredFiles: stateValues.showRooIgnoredFiles ?? false,
 			maxReadFileLine: stateValues.maxReadFileLine ?? -1,
 			maxImageFileSize: stateValues.maxImageFileSize ?? 5,
 			maxTotalImageSize: stateValues.maxTotalImageSize ?? 20,

+ 3 - 3
src/core/webview/__tests__/ClineProvider.spec.ts

@@ -534,7 +534,7 @@ describe("ClineProvider", () => {
 			maxWorkspaceFiles: 200,
 			browserToolEnabled: true,
 			telemetrySetting: "unset",
-			showRooIgnoredFiles: true,
+			showRooIgnoredFiles: false,
 			renderContext: "sidebar",
 			maxReadFileLine: 500,
 			maxImageFileSize: 5,
@@ -984,8 +984,8 @@ describe("ClineProvider", () => {
 		await provider.resolveWebviewView(mockWebviewView)
 		const messageHandler = (mockWebviewView.webview.onDidReceiveMessage as any).mock.calls[0][0]
 
-		// Default value should be true
-		expect((await provider.getState()).showRooIgnoredFiles).toBe(true)
+		// Default value should be false
+		expect((await provider.getState()).showRooIgnoredFiles).toBe(false)
 
 		// Test showRooIgnoredFiles with true
 		await messageHandler({ type: "showRooIgnoredFiles", bool: true })

+ 1 - 1
src/core/webview/webviewMessageHandler.ts

@@ -1305,7 +1305,7 @@ export const webviewMessageHandler = async (
 			await provider.postStateToWebview()
 			break
 		case "showRooIgnoredFiles":
-			await updateGlobalState("showRooIgnoredFiles", message.bool ?? true)
+			await updateGlobalState("showRooIgnoredFiles", message.bool ?? false)
 			await provider.postStateToWebview()
 			break
 		case "hasOpenedModeSelector":