You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Progress bar UI corruption with .set_move_cursor() #4808
Sometimes this will happen on my Mac (macOS v26, Ghostty v1.3, fish v4.6):
Note that:
Ideally the progress bar should be cleaned up after the "installed" message appears (see the final line).
Ideally the progress bar should update normally even when the input shortens (see the second line and the second-to-last line).
I'm pretty sure this surfaced after #4786, otherwise we actually haven't changed much about the progress bar (modulo the extra alignment #4768 but should be irrelevant).
I would like to know if anyone else has experienced this and esp. @ChrisDenton if you have seen anything broken on Windows since.
I can repo, The problem seems to be that indicatif doesn't clear the rest of the line after printing. The underlying console crate it uses doesn't seem to provide this feature either. EDIT: actually it does! But it's not obvious: .clear_chars(0) does what we want.
The fix would be to add something like a clear_to_end_of_line to the console crate (which emits \e[0K) and then use that in indicatif. I'll see if I can do this once I have a moment, unless someone else beats me to it.
@ChrisDenton Thank you so much for looking into this!
That said, I'm surprised that the "fix" magic description now works across repos. On my side it might be interesting to keep it open until the version is bumped, otherwise it might feel a bit confusing 🙏
If that is the case, would you mind cutting a new indicatif release first so we can move on with this issue (and thus rustup 1.29.1 beta), or there are some more blockers preventing it from happening?
Activity
ChrisDenton commentedon Apr 12, 2026
I can repo, The problem seems to be that indicatif doesn't clear the rest of the line after printing. The underlying
consolecrate it uses doesn't seem to provide this feature either. EDIT: actually it does! But it's not obvious:.clear_chars(0)does what we want.The fix would be to add something like a
clear_to_end_of_lineto the console crate (which emits\e[0K) and then use that in indicatif. I'll see if I can do this once I have a moment, unless someone else beats me to it.[-]Possible UI corruption with `.set_move_cursor()`[/-][+]Progress bar UI corruption with `.set_move_cursor()`[/+]rami3l commentedon Apr 14, 2026
@ChrisDenton Thank you so much for looking into this!
That said, I'm surprised that the "fix" magic description now works across repos. On my side it might be interesting to keep it open until the version is bumped, otherwise it might feel a bit confusing 🙏
ChrisDenton commentedon Apr 14, 2026
Sorry, that close wasn't intentional. I didn't consider that the auto-close behaviour would trigger across repos
rami3l commentedon Apr 14, 2026
@ChrisDenton No worries! I think it's GitHub's fault this time :)
djc commentedon Apr 14, 2026
Wow, that's very surprising!
rami3l commentedon Jun 29, 2026
@djc It seems that there hasn't been an update to https://github.com/console-rs/indicatif/releases since @ChrisDenton's patch, so this fix hasn't reached rustup yet?
If that is the case, would you mind cutting a new indicatif release first so we can move on with this issue (and thus rustup 1.29.1 beta), or there are some more blockers preventing it from happening?
Many thanks in advance 🙏
djc commentedon Jun 29, 2026
Added a version bump here:
rami3l commentedon Jul 1, 2026
Fix confirmed! Many thanks again to both of you @ChrisDenton @djc :))