Skip to content

[Hackathon] Width-aware progress ticker #72

Description

@Andy00L

Discord Username / User ID

interferon0

What does this improvement do?

The test run --wait / test wait progress ticker prints a single in-place line. On a narrow terminal or with a long run id the line soft-wraps to a second row, and the next \x1b[2K\r clears only one of the two rows, corrupting the redraw (ghost lines). This clips each frame to the current terminal width, re-read on every poll so it also follows a live resize. It stays completely silent on non-TTY (CI) and under --output json, so machine output is unchanged.

Details / implementation notes

Approach: width-aware truncation in src/lib/ticker.ts (read process.stderr.columns ?? 80, clip to width-1 to avoid last-cell auto-wrap, append a 1-column ellipsis). No new dependencies (ticker content is ASCII, so .length is an exact column count). Adds 10 unit tests (truncation, simulated resize, 80-col fallback, non-TTY silence). Full gate green: tsc, eslint, prettier, 1703 tests, coverage 98% on ticker.ts. PR to follow once assigned.

Confirmations

  • I have searched existing issues and this is not a duplicate.
  • I have provided my Discord identity above for reward coordination.

Metadata

Metadata

Assignees

Labels

acceptedTriaged and accepted — a PR for this will be reviewedhackathonCLI hackathon submissionsin-progressAssigned and actively being worked on

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions