From 106a3ed6bfc6f23fc75603be5badda4077ee4739 Mon Sep 17 00:00:00 2001 From: Oleksandr Karpov <Karpov4you@gmail.com> Date: Tue, 12 Mar 2024 12:28:37 +0200 Subject: [PATCH] NAS-127794: Dashboard - Backup Tasks - Infinite loading on m40 --- .../widget-backup/widget-backup.component.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/app/pages/dashboard/components/widget-backup/widget-backup.component.ts b/src/app/pages/dashboard/components/widget-backup/widget-backup.component.ts index 5635834c1f..9ff3c42d6a 100644 --- a/src/app/pages/dashboard/components/widget-backup/widget-backup.component.ts +++ b/src/app/pages/dashboard/components/widget-backup/widget-backup.component.ts @@ -5,11 +5,16 @@ import { MediaObserver } from '@angular/flex-layout'; import { UntilDestroy, untilDestroyed } from '@ngneat/until-destroy'; import { TranslateService } from '@ngx-translate/core'; import { differenceInDays } from 'date-fns'; -import { filter, forkJoin } from 'rxjs'; +import { + catchError, filter, forkJoin, of, +} from 'rxjs'; import { Direction } from 'app/enums/direction.enum'; import { JobState } from 'app/enums/job-state.enum'; import { ScreenType } from 'app/enums/screen-type.enum'; import { ApiTimestamp } from 'app/interfaces/api-date.interface'; +import { CloudSyncTask } from 'app/interfaces/cloud-sync-task.interface'; +import { ReplicationTask } from 'app/interfaces/replication-task.interface'; +import { RsyncTask } from 'app/interfaces/rsync-task.interface'; import { WidgetComponent } from 'app/pages/dashboard/components/widget/widget.component'; import { CloudsyncWizardComponent } from 'app/pages/data-protection/cloudsync/cloudsync-wizard/cloudsync-wizard.component'; import { ReplicationWizardComponent } from 'app/pages/data-protection/replication/replication-wizard/replication-wizard.component'; @@ -123,9 +128,9 @@ export class WidgetBackupComponent extends WidgetComponent implements OnInit { getBackups(): void { this.isLoading = true; forkJoin([ - this.ws.call('replication.query'), - this.ws.call('rsynctask.query'), - this.ws.call('cloudsync.query'), + this.ws.call('replication.query').pipe(catchError(() => of([] as ReplicationTask[]))), + this.ws.call('rsynctask.query').pipe(catchError(() => of([] as RsyncTask[]))), + this.ws.call('cloudsync.query').pipe(catchError(() => of([] as CloudSyncTask[]))), ]).pipe(untilDestroyed(this)).subscribe(([replicationTasks, rsyncTasks, cloudSyncTasks]) => { this.isLoading = false; this.backups = [ -- GitLab