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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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