fix(progress): eliminate duplicate bar frame per asset in TTY mode #116

Merged
altair823 merged 1 commits from fix/progress-duplicate-tty-frame into main 2026-05-07 12:50:34 +00:00
Owner

문제

TTY 모드에서 파일 하나당 indicatif bar 가 두 번 렌더됨:

  1. AssetStartedbar.set_message(...) → 렌더
  2. AssetFinishedbar.set_position(...) → 같은 메시지로 재렌더

터미널 scrollback 에 파일당 줄이 2개 남는 artifact 발생.

수정

AssetStarted 에서 position + message 를 한 번에 업데이트 (idx - 1 완료 수 + 현재 파일 메시지). AssetFinished 에서 bar 업데이트 제거. Completedfinish_and_clear() 가 최종 정리 담당.

non-TTY 동작 (append-only lines) 은 변경 없음.

테스트

기존 37개 테스트 모두 통과.

## 문제 TTY 모드에서 파일 하나당 indicatif bar 가 두 번 렌더됨: 1. `AssetStarted` → `bar.set_message(...)` → 렌더 2. `AssetFinished` → `bar.set_position(...)` → 같은 메시지로 재렌더 터미널 scrollback 에 파일당 줄이 2개 남는 artifact 발생. ## 수정 `AssetStarted` 에서 position + message 를 한 번에 업데이트 (`idx - 1` 완료 수 + 현재 파일 메시지). `AssetFinished` 에서 bar 업데이트 제거. `Completed` 의 `finish_and_clear()` 가 최종 정리 담당. non-TTY 동작 (append-only lines) 은 변경 없음. ## 테스트 기존 37개 테스트 모두 통과.
altair823 added 1 commit 2026-05-07 12:50:03 +00:00
AssetStarted now advances position (idx-1) and sets message together.
AssetFinished no longer updates the bar — Completed handles final
cleanup via finish_and_clear. Result: one bar frame per file instead
of two, eliminating the scrollback duplicate-line artifact.
altair823 merged commit d6e2e6273e into main 2026-05-07 12:50:34 +00:00
altair823 deleted branch fix/progress-duplicate-tty-frame 2026-05-07 12:50:35 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: altair823-org/kebab#116