diff --git a/dashboard/src/components/BackupInfoDialog.vue b/dashboard/src/components/BackupInfoDialog.vue
index f14f8c09c..d0395f5c7 100644
--- a/dashboard/src/components/BackupInfoDialog.vue
+++ b/dashboard/src/components/BackupInfoDialog.vue
@@ -134,6 +134,14 @@ defineExpose({
{{ prettyDuration(backup.stats.aggregatedUpload.duration + backup.stats.aggregatedCopy.duration) }}
{{ prettyDuration(backup.stats.upload.duration + backup.stats.copy.duration) }}
+
+
{{ $t('backups.backupDetails.lastIntegrityCheck') }}
+
+ {{ $t('backups.backupDetails.integrityInProgress') }}
+ {{ prettyLongDate(backup.lastIntegrityCheckTime) }}
+ {{ $t('backups.backupDetails.integrityNever') }}
+
+
diff --git a/dashboard/src/components/app/Backups.vue b/dashboard/src/components/app/Backups.vue
index 1b40e50ce..20f4c591c 100644
--- a/dashboard/src/components/app/Backups.vue
+++ b/dashboard/src/components/app/Backups.vue
@@ -251,7 +251,7 @@ async function refreshIntegrityTasks() {
if (!result.active) delete integrityTasks.value[taskId];
}
- const stillActive = Object.keys(integrityTasks).length !== 0;
+ const stillActive = Object.keys(integrityTasks.value).length !== 0;
if (stillActive) {
integrityPollTimer = setTimeout(refreshIntegrityTasks, 10000);
} else {
@@ -262,6 +262,7 @@ async function refreshIntegrityTasks() {
async function onCheckIntegrity(backup) {
const [error, taskId] = await backupsModel.checkIntegrity(backup.id);
if (error) return window.cloudron.onError(error);
+ backup.integrityCheckTaskId = taskId;
integrityTasks.value[taskId] = {};
await refreshIntegrityTasks();
}