v0.12.0 — Backup page overhaul: unified app rows, bug fixes, sequential chaining
Bug fixes: - GetFullStatus() returns deep copy; CrossDriveSummary/UnconfiguredApps/CrossDriveWarnings are always nil in the copy so the handler builds them fresh (fixes duplicate-apps bug) - Replace binary IsMountPoint check with tiered CheckBackupDestination() — path-not-exist, not-writable, system-drive (warning), disk >90-95% full; shown as warning vs critical - Remove dead settingsAppBackupHandler / POST /settings/app-backup route (toggle wrote to settings.json but nothing consumed the flag) Architecture: - Unified per-app backup rows: new AppBackupRow struct + buildAppBackupRows() replaces the two old sections with expandable rows showing all 3 layers per app - Sequential backup chaining: cross-drive runs immediately after restic (removed independent cross-drive-daily/cross-drive-weekly scheduler jobs) - Deploy page: remove "Csak kézi indítás" schedule option; add weekly consistency note Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -57,3 +57,26 @@ type FSInfo struct {
|
||||
|
||||
// GetFSInfo returns nil on non-Linux.
|
||||
func GetFSInfo(_ string) *FSInfo { return nil }
|
||||
|
||||
// DestinationHealth holds the result of a tiered backup destination check.
|
||||
type DestinationHealth struct {
|
||||
Exists bool
|
||||
Writable bool
|
||||
MountPoint bool
|
||||
SystemDrive bool
|
||||
UsedPercent float64
|
||||
FreeGB float64
|
||||
Warning string
|
||||
Blocked bool
|
||||
Severity string
|
||||
}
|
||||
|
||||
// CheckBackupDestination always returns ok on non-Linux (assume healthy for dev/testing).
|
||||
func CheckBackupDestination(path string) DestinationHealth {
|
||||
return DestinationHealth{
|
||||
Exists: true,
|
||||
Writable: true,
|
||||
MountPoint: true,
|
||||
Severity: "ok",
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user