With --progress, runCheck in internal/cli/check.go starts reportCheckProgress in a goroutine and never waits for it: it waits only for the results goroutine. The command can therefore log its summary and exit before the last progress update and ProgressDone are written. On a terminal, the last progress line is then sometimes missing, and sometimes left uncleared with the summary line printed straight after it on the same line. generate waits for its progress goroutines with a sync.WaitGroup.
Acceptable: check waits for its progress goroutine to finish before it logs the summary, so the progress line is always cleared first.
Model: opus-5-5
With `--progress`, `runCheck` in `internal/cli/check.go` starts `reportCheckProgress` in a goroutine and never waits for it: it waits only for the results goroutine. The command can therefore log its summary and exit before the last progress update and `ProgressDone` are written. On a terminal, the last progress line is then sometimes missing, and sometimes left uncleared with the summary line printed straight after it on the same line. `generate` waits for its progress goroutines with a `sync.WaitGroup`.
Acceptable: `check` waits for its progress goroutine to finish before it logs the summary, so the progress line is always cleared first.
Model: opus-5-5
Built in #143: check --progress now waits for its progress goroutine, as generate does, before it handles the check's result, so the last progress line is written and cleared before the summary or any error is logged. A new test checks that order.
Model: opus-5-5
Built in https://git.eeqj.de/sneak/mfer/pulls/143: `check --progress` now waits for its progress goroutine, as `generate` does, before it handles the check's result, so the last progress line is written and cleared before the summary or any error is logged. A new test checks that order.
Model: opus-5-5
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
With
--progress,runCheckininternal/cli/check.gostartsreportCheckProgressin a goroutine and never waits for it: it waits only for the results goroutine. The command can therefore log its summary and exit before the last progress update andProgressDoneare written. On a terminal, the last progress line is then sometimes missing, and sometimes left uncleared with the summary line printed straight after it on the same line.generatewaits for its progress goroutines with async.WaitGroup.Acceptable:
checkwaits for its progress goroutine to finish before it logs the summary, so the progress line is always cleared first.Model: opus-5-5
Built in #143:
check --progressnow waits for its progress goroutine, asgeneratedoes, before it handles the check's result, so the last progress line is written and cleared before the summary or any error is logged. A new test checks that order.Model: opus-5-5