compose/cmd/display
Guillaume Lours 1a6212c859 fix(progress): drop size info from progress bar when line overflows
In narrow terminals (e.g. tmux panes), the TTY progress UI emitted
lines wider than terminalWidth because adjustLineWidth could shrink
details and taskID but never the progress field. When progress
carried the "X.XMB / Y.YMB" size suffix, the truncation loop exited
with overflow > 0 and applyPadding's max(timerPad, 1) floor pushed
the line one char over. tmux then wrapped the line visually while
print() kept counting logical lines, desyncing aec.Up() on the next
render and producing the mangled "[+] pull X/Y" header overwriting
prior task lines.

Track the size suffix byte length on lineData and let
adjustLineWidth drop it as an intermediate truncation step before
abbreviating the taskID.

Fixes docker/compose#13595

Signed-off-by: Guillaume Lours <glours@users.noreply.github.com>
2026-06-15 15:00:57 +02:00
..
colors.go move progress UI components into cmd 2025-11-12 11:17:28 +01:00
dryrun.go make DRYRUN_PREFIX a display attribute, move DryRunClient out of pkg/api 2025-11-12 11:17:28 +01:00
json.go next release will be major version v5.x 2025-11-13 09:32:43 +01:00
json_test.go golangci-lint: use gci formatter instead of goimports 2025-12-01 12:21:50 +01:00
mode.go move progress UI components into cmd 2025-11-12 11:17:28 +01:00
plain.go next release will be major version v5.x 2025-11-13 09:32:43 +01:00
quiet.go next release will be major version v5.x 2025-11-13 09:32:43 +01:00
spinner.go move progress UI components into cmd 2025-11-12 11:17:28 +01:00
tty.go fix(progress): drop size info from progress bar when line overflows 2026-06-15 15:00:57 +02:00
tty_test.go fix(progress): drop size info from progress bar when line overflows 2026-06-15 15:00:57 +02:00