Sfoglia il codice sorgente

Prevented incorrect progress metrics to break compose display.

Signed-off-by: Nicolas De Loof <[email protected]>
Nicolas De Loof 1 settimana fa
parent
commit
d4c1987638
3 ha cambiato i file con 12 aggiunte e 1 eliminazioni
  1. 6 1
      cmd/display/tty.go
  2. 3 0
      pkg/compose/pull.go
  3. 3 0
      pkg/compose/push.go

+ 6 - 1
cmd/display/tty.go

@@ -347,7 +347,12 @@ func (w *ttyWriter) lineText(t *task, pad string, terminalWidth, statusPadding i
 			}
 			total += child.total
 			current += child.current
-			completion = append(completion, percentChars[(len(percentChars)-1)*child.percent/100])
+			r := len(percentChars) - 1
+			p := child.percent
+			if p > 100 {
+				p = 100
+			}
+			completion = append(completion, percentChars[r*p/100])
 		}
 	}
 

+ 3 - 0
pkg/compose/pull.go

@@ -416,6 +416,9 @@ func toPullProgressEvent(parent string, jm jsonmessage.JSONMessage, events api.E
 			total = jm.Progress.Total
 			if jm.Progress.Total > 0 {
 				percent = int(jm.Progress.Current * 100 / jm.Progress.Total)
+				if percent > 100 {
+					percent = 100
+				}
 			}
 		}
 	case DownloadCompletePhase, AlreadyExistsPhase, PullCompletePhase:

+ 3 - 0
pkg/compose/push.go

@@ -155,6 +155,9 @@ func toPushProgressEvent(prefix string, jm jsonmessage.JSONMessage, events api.E
 			total = jm.Progress.Total
 			if jm.Progress.Total > 0 {
 				percent = int(jm.Progress.Current * 100 / jm.Progress.Total)
+				if percent > 100 {
+					percent = 100
+				}
 			}
 		}
 	}