fix(server): include symlink directories in listings
Fixes https://github.com/NeuralNomadsAI/CodeNomad/issues/106
This commit is contained in:
@@ -222,20 +222,18 @@ export class FileSystemBrowser {
|
|||||||
const results: FileSystemEntry[] = []
|
const results: FileSystemEntry[] = []
|
||||||
|
|
||||||
for (const entry of dirents) {
|
for (const entry of dirents) {
|
||||||
if (!options.includeFiles && !entry.isDirectory()) {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
|
|
||||||
const absoluteEntryPath = path.join(directory, entry.name)
|
const absoluteEntryPath = path.join(directory, entry.name)
|
||||||
let stats: fs.Stats
|
let stats: fs.Stats
|
||||||
try {
|
try {
|
||||||
|
// Use fs.statSync (not Dirent.isDirectory) so symlinks to directories
|
||||||
|
// are treated as directories in directory-only listings.
|
||||||
stats = fs.statSync(absoluteEntryPath)
|
stats = fs.statSync(absoluteEntryPath)
|
||||||
} catch {
|
} catch {
|
||||||
// Skip entries we cannot stat (insufficient permissions, etc.)
|
// Skip entries we cannot stat (insufficient permissions, etc.)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
const isDirectory = entry.isDirectory()
|
const isDirectory = stats.isDirectory()
|
||||||
if (!options.includeFiles && !isDirectory) {
|
if (!options.includeFiles && !isDirectory) {
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user