v0.325.0: share + escrow limiters reserve first; family sessions as fingerprints; samba renames apply; path guard widened; gates in a worktree
gates / gates (push) Successful in 45s
gates / gates (push) Successful in 45s
R-1111 reserveAttempt is the one limiter body (share password, escrow re-auth, dashboard sign-in). R-1112 family.json holds fingerprints; old files are converted at load. R-1113 the household's pass reuses its family session. R-1109 the samba compose carries the smb.conf hash. R-1110 TestNoBareDrivePathToPathHelpers. R-1114 shared_scripts.py resolves the felhom.eu sibling from a worktree. Each red-proved. Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
This commit is contained in:
1 parent
7d41c2973c
commit
94f44931dd
28 files changed
+945
-190
No files matched your search
@@ -3427,11 +3427,13 @@ func (s *Server) appDetailsForPath(storagePath string) []StorageAppDetail {
|
||||
}
|
||||
// Try to get data size from the storage subdirectory. F-S2: the app's real appdata dir name is
|
||||
// NOT always the stack name (paperless-ngx writes appdata/paperless) — sum the resolved dir(s).
|
||||
// Here hddPath == storagePath (the drive's in-guest mount is the namespace root, Model A).
|
||||
// storagePath is a DRIVE path; through the resolver (R-1110). On an enrolled drive that is the path
|
||||
// itself (Model A), on the system-data fallback it adds felhom-data — the only correct root either way.
|
||||
nsRoot := appbackup.NamespaceRootFor(storagePath, s.cfg.Paths.SystemDataPath)
|
||||
var total int64
|
||||
var any bool
|
||||
for _, name := range s.stackMgr.ResolveAppDataDirNames(stack.Name) {
|
||||
d := backup.AppDataDir(storagePath, name)
|
||||
d := backup.AppDataDir(nsRoot, name)
|
||||
if fi, err := os.Stat(d); err == nil && fi.IsDir() {
|
||||
total += dirSizeBytesWalk(d)
|
||||
any = true
|
||||
|
||||
Reference in new issue
Block a user