Add backup recovery center
This commit is contained in:
@@ -0,0 +1,30 @@
|
||||
# Backup recovery center
|
||||
|
||||
## Problem
|
||||
|
||||
An immediate undo button is not enough. A DJ may restart Serato Doctor, notice
|
||||
an issue later, or need to understand how much disk space safety snapshots use.
|
||||
|
||||
## Architecture
|
||||
|
||||
The recovery center reads the existing JSON manifests beneath
|
||||
`_Serato_/.serato-doctor-backups/`. It reports creation time, selected keeper,
|
||||
affected paths, restore status, and snapshot size. Invalid or incomplete backup
|
||||
folders are ignored rather than presented as restorable.
|
||||
|
||||
Restore remains conservative: it only replaces a symbolic-link alias and
|
||||
refuses to overwrite a real file. A successful restore records its timestamp in
|
||||
the manifest so the UI cannot accidentally offer the same rollback twice.
|
||||
|
||||
## Edge cases
|
||||
|
||||
- No backup directory is treated as an empty history.
|
||||
- Malformed manifests do not prevent valid backups from loading.
|
||||
- Restored snapshots remain visible for audit purposes and disk accounting.
|
||||
- Backups can only be restored through the Serato library that owns them.
|
||||
|
||||
## Tests
|
||||
|
||||
- Backup history reports size and ready status.
|
||||
- Restore changes the persistent status to restored.
|
||||
- Static recovery assets are included in the package.
|
||||
Reference in New Issue
Block a user