Commit c6b47c6
committed
feat: concurrent mirror probing, download progress, and active version protection
- Replace serial mirror latency probing with concurrent probing using
Zig 0.16 Io.Group fibers. Direct connections probe all mirrors in
parallel (batch size 8), reducing total probe time from sum of all
latencies to the slowest single probe. Proxy/curl path remains
sequential since std.process.run blocks the event loop.
- Add download progress indicator showing percentage, downloaded/total
size, and transfer speed. Uses chunked stream loop with ~10 updates
per second. Clears line with ANSI escape to prevent ghost characters
from shorter previous updates. Curl proxy path uses -# flag for
native progress bar.
- Block removal of the currently active version with actionable
guidance: list other installed versions for switching, or suggest
installing a new version first when none are available.1 parent 8e4aa48 commit c6b47c6
4 files changed
Lines changed: 335 additions & 48 deletions
0 commit comments