diff --git a/cmd/display/tty.go b/cmd/display/tty.go index b6ba14d9b..04469cfd7 100644 --- a/cmd/display/tty.go +++ b/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]) } } diff --git a/pkg/compose/pull.go b/pkg/compose/pull.go index 276f2f6d7..e2845aad8 100644 --- a/pkg/compose/pull.go +++ b/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: diff --git a/pkg/compose/push.go b/pkg/compose/push.go index abf945353..a1e9b2686 100644 --- a/pkg/compose/push.go +++ b/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 + } } } }