Skip to content

Backup archives can still be deleted underneath a manual delete by two other paths #142

Description

@Pixnop

PR #136 stops the double-delete from the backups page, but two other code paths remove backup archives with no awareness of the per-backup _deleting flag:

  • The auto-prune loop in backup.ts (the backupsLimit enforcement) removes the oldest archive directly, and structurally cannot check the flag: BackupRecord carries only id, date and path. Start a manual delete of the oldest archive, navigate away (the handler keeps running), press Play with backupsAuto on, and the prune removes the same file, producing the same false-failure the PR set out to kill, this time as prune-failed.
  • deleteInstallation with data deletion guards isBackingUp and isRestoringBackup at the installation level but no per-backup isDeleting, so the same interleaving lands a bogus entry in failedBackupPaths and a misleading "some backups survived" warning.

Neither is a regression from #136. Fix direction: add the deleting marker to BackupRecord so both paths can skip in-flight archives, or serialize archive removal per installation behind one gate. Surfaced during the #136 review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions