diff --git a/dashboard/src/components/BackupInfoDialog.vue b/dashboard/src/components/BackupInfoDialog.vue index 4b9c54281..58eeb8c62 100644 --- a/dashboard/src/components/BackupInfoDialog.vue +++ b/dashboard/src/components/BackupInfoDialog.vue @@ -155,13 +155,11 @@ defineExpose({
{{ $t('backups.backupDetails.integrityInProgress') }} - - + {{ prettyLongDate(backup.lastIntegrityCheckTime) }} - - + {{ prettyLongDate(backup.lastIntegrityCheckTime) }} {{ $t('backups.backupDetails.integrityNever') }} @@ -188,12 +186,10 @@ defineExpose({ diff --git a/dashboard/src/components/SystemBackupList.vue b/dashboard/src/components/SystemBackupList.vue index d4c2585c8..2c092f883 100644 --- a/dashboard/src/components/SystemBackupList.vue +++ b/dashboard/src/components/SystemBackupList.vue @@ -336,8 +336,7 @@ defineExpose({ refresh }); diff --git a/dashboard/src/components/app/Backups.vue b/dashboard/src/components/app/Backups.vue index d39fc5ea3..b175c026f 100644 --- a/dashboard/src/components/app/Backups.vue +++ b/dashboard/src/components/app/Backups.vue @@ -442,8 +442,7 @@ onUnmounted(() => { diff --git a/src/backupintegrity.js b/src/backupintegrity.js index dae9f521c..5bede7f1a 100644 --- a/src/backupintegrity.js +++ b/src/backupintegrity.js @@ -68,6 +68,15 @@ async function check(backupId, progressCallback) { for (const depId of backup.dependsOn) { const depBackup = await backups.get(depId); progressCallback({ percent: Math.round(completed / total * 100), message: `Verifying ${depBackup.remotePath}` }); + + if (!depBackup.integrity) { + // old backups (from stopped apps) do not integrity information + progressCallback({ message: `Skipping ${depBackup.remotePath} (no integrity data)` }); + await backups.setIntegrityResult(depBackup, 'skipped', { stats: null, messages: [] }); + completed++; + continue; + } + const result = await verify(depBackup, backupSite, progressCallback); // { stats, messages } completed++;