From 39a062b94276fe6a877990d6755d85afd3d67e55 Mon Sep 17 00:00:00 2001 From: Montassar Ghanmy Date: Thu, 27 Feb 2025 10:45:03 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Refine=20progress=20calculation=20f?= =?UTF-8?q?or=20more=20granular=20updates=20(#827)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../features/files/services/file-upload-service.ts | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/tdrive/frontend/src/app/features/files/services/file-upload-service.ts b/tdrive/frontend/src/app/features/files/services/file-upload-service.ts index daadfa18..3db2acee 100644 --- a/tdrive/frontend/src/app/features/files/services/file-upload-service.ts +++ b/tdrive/frontend/src/app/features/files/services/file-upload-service.ts @@ -85,9 +85,17 @@ class FileUploadService { const updatedState = Object.keys(this.groupedPendingFiles).reduce((acc: any, key: string) => { // Calculate the uploaded size const uploadedSize = this.groupedPendingFiles[key] - .map((f: PendingFileType) => - f.status === 'success' && f.originalFile?.size ? f.originalFile.size : 0, - ) + .map((file: PendingFileType) => { + const fileSize = file.originalFile?.size ?? 0; + + if (file.status === 'success') { + return fileSize; + } else if (file.status === 'pending') { + return fileSize * (file.progress ?? 0); // Ensure progress is defined + } + + return 0; + }) .reduce((acc: number, size: number) => acc + size, 0); // Check for failed files