From 4d8e53384c1577ff71bcae66c48a4db4ac8a446b Mon Sep 17 00:00:00 2001 From: Jakub Dobry Date: Thu, 23 Oct 2025 11:08:29 +0200 Subject: [PATCH 1/4] fix: envd panic and list dir --- packages/envd/internal/services/filesystem/dir.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/packages/envd/internal/services/filesystem/dir.go b/packages/envd/internal/services/filesystem/dir.go index 31fc449164..c409ecb262 100644 --- a/packages/envd/internal/services/filesystem/dir.go +++ b/packages/envd/internal/services/filesystem/dir.go @@ -2,6 +2,7 @@ package filesystem import ( "context" + "errors" "fmt" "os" "path" @@ -157,8 +158,14 @@ func walkDir(requestedPath string, dirPath string, depth int) (entries []*rpc.En } entryInfo, err := entryInfo(path) - if entry == nil { - return err + if err != nil { + var notFoundErr *connect.Error + if errors.As(err, ¬FoundErr) && notFoundErr.Code() == connect.CodeNotFound { + // Skip entries that don't exist anymore + return nil + } + + return nil } // Return the requested path as the base path instead of the symlink-resolved path From afe2b4d7b97834e4a9ab5f7c79e92f73bd4ad892 Mon Sep 17 00:00:00 2001 From: Jakub Dobry Date: Thu, 23 Oct 2025 11:12:17 +0200 Subject: [PATCH 2/4] linter --- packages/envd/internal/services/filesystem/dir.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/envd/internal/services/filesystem/dir.go b/packages/envd/internal/services/filesystem/dir.go index c409ecb262..0789aa3c94 100644 --- a/packages/envd/internal/services/filesystem/dir.go +++ b/packages/envd/internal/services/filesystem/dir.go @@ -136,7 +136,7 @@ func checkIfDirectory(path string) error { // walkDir walks the directory tree starting from dirPath up to the specified depth (doesn't follow symlinks). func walkDir(requestedPath string, dirPath string, depth int) (entries []*rpc.EntryInfo, err error) { - err = filepath.WalkDir(dirPath, func(path string, entry os.DirEntry, err error) error { + err = filepath.WalkDir(dirPath, func(path string, _ os.DirEntry, err error) error { if err != nil { return err } From 32854cbb37561570f5c22f92b2f94cf1913ff268 Mon Sep 17 00:00:00 2001 From: Jakub Dobry Date: Thu, 23 Oct 2025 11:12:36 +0200 Subject: [PATCH 3/4] return error when not not found --- packages/envd/internal/services/filesystem/dir.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/envd/internal/services/filesystem/dir.go b/packages/envd/internal/services/filesystem/dir.go index 0789aa3c94..ca33b6136c 100644 --- a/packages/envd/internal/services/filesystem/dir.go +++ b/packages/envd/internal/services/filesystem/dir.go @@ -165,7 +165,7 @@ func walkDir(requestedPath string, dirPath string, depth int) (entries []*rpc.En return nil } - return nil + return err } // Return the requested path as the base path instead of the symlink-resolved path From 26697412b6138f8b3c5b803b8e65d433238bab60 Mon Sep 17 00:00:00 2001 From: Jakub Dobry Date: Thu, 23 Oct 2025 15:47:02 +0200 Subject: [PATCH 4/4] bump envd version --- packages/envd/main.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/envd/main.go b/packages/envd/main.go index 1e92317141..7636bfb6fc 100644 --- a/packages/envd/main.go +++ b/packages/envd/main.go @@ -43,7 +43,7 @@ const ( ) var ( - Version = "0.4.1" + Version = "0.4.2" commitSHA string