diff --git a/Services/BackupStatusService.swift b/Services/BackupStatusService.swift index d2601c9..bf8e5b7 100644 --- a/Services/BackupStatusService.swift +++ b/Services/BackupStatusService.swift @@ -111,12 +111,14 @@ final class BackupStatusService: NSObject, ObservableObject { do { let data = try await transfer.downloadData(at: manifestPath) - manifest = (try? JSONDecoder().decode(BackupManifest.self, from: data)) ?? { + if let decoded = try? JSONDecoder().decode(BackupManifest.self, from: data) { + manifest = decoded + } else { let items = (try? await transfer.listDirectory(at: conn.remotePath)) ?? [] - return BackupManifest.buildFromNASListing(items) - }() + manifest = BackupManifest.buildFromNASListing(items) + } } catch { - // Manifest not found — build from directory listing + // Manifest not found — bootstrap from directory listing let items = (try? await transfer.listDirectory(at: conn.remotePath)) ?? [] manifest = BackupManifest.buildFromNASListing(items) }