fix: match CHFS directory metadata semantics

This commit is contained in:
OpenClaw Agent
2026-09-21 17:54:41 +08:00
parent 3be697af9c
commit 3d65a94429
+6 -1
View File
@@ -175,7 +175,12 @@ func (s *Server) files(w http.ResponseWriter, r *http.Request) {
sub := false sub := false
if fi.IsDir() { if fi.IsDir() {
if xs, e := s.Store.List(fp); e == nil { 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)}) 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)})