From 847cb91759af672614e04f17e8c410cef5dadd3d Mon Sep 17 00:00:00 2001 From: Girish Ramakrishnan Date: Thu, 16 Oct 2025 12:32:24 +0200 Subject: [PATCH] backuptask: fix crash when accessing stats of old backups --- src/backuptask.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backuptask.js b/src/backuptask.js index a48cfde8f..51979983f 100644 --- a/src/backuptask.js +++ b/src/backuptask.js @@ -283,7 +283,8 @@ async function backupBox(backupSite, appBackupsMap, tag, options, progressCallba debug(`backupBox: rotating box snapshot of ${backupSite.id} to id ${remotePath}`); - stats.aggregated = Array.from(appBackupsMap.values()).reduce((acc, s) => ({ + // stats object might be null for stopped/errored apps from old versions + stats.aggregated = Array.from(appBackupsMap.values()).filter(s => !!s).reduce((acc, s) => ({ fileCount: acc.fileCount + s.fileCount, size: acc.size + s.size, startTime: Math.min(acc.startTime, s.startTime), @@ -373,7 +374,7 @@ async function backupAppWithTag(app, backupSite, tag, options, progressCallback) if (!apps.canBackupApp(app)) { // if we cannot backup, reuse it's most recent backup const lastKnownGoodAppBackup = await backups.getLatestInTargetByIdentifier(app.id, backupSite.id); if (lastKnownGoodAppBackup === null) return null; // no backup to re-use - return lastKnownGoodAppBackup.id; + return { id: lastKnownGoodAppBackup.id, stats: lastKnownGoodAppBackup.stats }; } const { stats, integrity } = await uploadAppSnapshot(backupSite, app, progressCallback);