From c95697e4f5b4cef68df3a6fdf669568c739b38ee Mon Sep 17 00:00:00 2001 From: Virgil Date: Fri, 3 Apr 2026 06:55:51 +0000 Subject: [PATCH] Sort local listings deterministically --- local/medium.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/local/medium.go b/local/medium.go index 100dd74..d9337cf 100644 --- a/local/medium.go +++ b/local/medium.go @@ -4,8 +4,10 @@ package local import ( + "cmp" goio "io" "io/fs" + "slices" "syscall" core "dappco.re/go/core" @@ -292,7 +294,16 @@ func (medium *Medium) List(path string) ([]fs.DirEntry, error) { if err != nil { return nil, err } - return resultDirEntries("local.List", core.Concat("list failed: ", path), unrestrictedFileSystem.List(resolvedPath)) + entries, err := resultDirEntries("local.List", core.Concat("list failed: ", path), unrestrictedFileSystem.List(resolvedPath)) + if err != nil { + return nil, err + } + + slices.SortFunc(entries, func(a, b fs.DirEntry) int { + return cmp.Compare(a.Name(), b.Name()) + }) + + return entries, nil } // Example: info, _ := medium.Stat("config/app.yaml")