fix(server): hide hidden directories from cwd suggestions

This commit is contained in:
Mohamed Boudra
2026-02-18 10:27:22 +07:00
parent 79b64d3e38
commit 803e31e61c
2 changed files with 18 additions and 0 deletions
@@ -129,6 +129,17 @@ describe("searchHomeDirectories", () => {
expect(results).toContain(path.join(homeDir, "projects"));
expect(results).toContain(path.join(homeDir, "documents"));
expect(results).not.toContain(path.join(homeDir, ".hidden"));
});
it("does not return hidden directories during tree search", async () => {
const results = await searchHomeDirectories({
homeDir,
query: "cache",
limit: 20,
});
expect(results).not.toContain(path.join(homeDir, ".hidden", "cache"));
});
it("does not return paths that escape home through symlinks", async () => {
@@ -386,6 +386,9 @@ async function listChildDirectories(input: {
);
const entries: ChildDirectoryEntry[] = [];
for (const dirent of dirents) {
if (isHiddenDirectoryName(dirent.name)) {
continue;
}
if (!dirent.isDirectory() && !dirent.isSymbolicLink()) {
continue;
}
@@ -429,6 +432,10 @@ async function resolveDirectoryCandidate(input: {
return resolved;
}
function isHiddenDirectoryName(name: string): boolean {
return name.startsWith(".");
}
function setDirectoryListCache(cacheKey: string, entry: DirectoryListCacheEntry): void {
directoryListCache.set(cacheKey, entry);
pruneDirectoryListCache();