From 3d65a94429fbc2f9ac52a727b03869c47ecff52c Mon Sep 17 00:00:00 2001 From: OpenClaw Agent Date: Mon, 21 Sep 2026 17:54:41 +0800 Subject: [PATCH] fix: match CHFS directory metadata semantics --- chfs-ng/internal/api/server.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/chfs-ng/internal/api/server.go b/chfs-ng/internal/api/server.go index 6479e09..94e5c29 100644 --- a/chfs-ng/internal/api/server.go +++ b/chfs-ng/internal/api/server.go @@ -175,7 +175,12 @@ func (s *Server) files(w http.ResponseWriter, r *http.Request) { sub := false if fi.IsDir() { if xs, e := s.Store.List(fp); e == nil { - sub = len(xs) > 0 + for _, child := range xs { + if child.IsDir() { + sub = true + break + } + } } } out = append(out, fileInfo{Name: fi.Name(), Path: fp, Size: fi.Size(), Modified: originalTime(fi.ModTime()), Dir: fi.IsDir(), Mask: permString(a.MaskFor(fp)), GuestMask: permString(s.Auth.Guest.MaskFor(fp)), HasSubDir: sub, Icon: iconFor(fi)})