- Installing: {{ installProgress.unpackProgress }}%
+ Unpacking: {{ installProgress.unpackProgress }}%
-
+
Install
-
+
@@ -63,7 +63,14 @@
Downgrade
-
+
+
+
+
+
+
+ View Service
+
diff --git a/ui/src/app/services/package-loading.service.ts b/ui/src/app/services/package-loading.service.ts
index 8da3009e2..bfcdd1a7b 100644
--- a/ui/src/app/services/package-loading.service.ts
+++ b/ui/src/app/services/package-loading.service.ts
@@ -10,9 +10,10 @@ export class PackageLoadingService {
transform (loadData: InstallProgress): ProgressData {
let { downloaded, validated, unpacked, size, 'download-complete': downloadComplete, 'validation-complete': validationComplete, 'unpack-complete': unpackComplete } = loadData
- downloaded = downloadComplete ? size : downloaded
- validated = validationComplete ? size : validated
- unpacked = unpackComplete ? size : unpacked
+ // only permit 100% when "complete" == true
+ downloaded = downloadComplete ? size : Math.max(downloaded - 1, 0)
+ validated = validationComplete ? size : Math.max(validated - 1, 0)
+ unpacked = unpackComplete ? size : Math.max(unpacked - 1, 0)
const downloadWeight = 1
const validateWeight = .2
@@ -26,10 +27,10 @@ export class PackageLoadingService {
const denominator = Math.floor(size * (downloadWeight + validateWeight + unpackWeight))
return {
- totalProgress: Math.round(100 * numerator / denominator),
- downloadProgress: Math.round(100 * downloaded / size),
- validateProgress: Math.round(100 * validated / size),
- unpackProgress: Math.round(100 * unpacked / size),
+ totalProgress: Math.floor(100 * numerator / denominator),
+ downloadProgress: Math.floor(100 * downloaded / size),
+ validateProgress: Math.floor(100 * validated / size),
+ unpackProgress: Math.floor(100 * unpacked / size),
isComplete: downloadComplete && validationComplete && unpackComplete,
}
}