This reverts to the old behavior of not printing progress updates on non-interactive terminals. It was accidentally changed in #3058.
This fixes two race conditions while cleaning up the code.