PowerShell Core progress bar gets stuck in Terminal Preview, not in Terminal #17817

Closed
opened 2026-01-31 05:55:16 +00:00 by claunia · 3 comments
Owner

Originally created by @MatejKafka on GitHub (Jun 28, 2022).

Windows Terminal version

1.14.1451.0

Windows build number

10.0.19044.1766

Other Software

PowerShell Core, versions 7.2.5, 7.3.0-preview.2, 7.3.0-preview.5

Steps to reproduce

Run the following PowerShell block:

for ($i = 1; $i -le 100; $i++) {
    Write-Progress -Activity "Test activity" -Status "$i% Complete:" -PercentComplete $i
    Start-Sleep -Milliseconds 30
}

Expected Behavior

Progress bar fills up to 100%.

Actual Behavior

Progress bar fills up to about ~40%, then jumps back and stays only below the status text.

image

In Terminal (non-Preview) 1.13.11431.0 and ConHost, this works correctly.

Originally created by @MatejKafka on GitHub (Jun 28, 2022). ### Windows Terminal version 1.14.1451.0 ### Windows build number 10.0.19044.1766 ### Other Software PowerShell Core, versions 7.2.5, 7.3.0-preview.2, 7.3.0-preview.5 ### Steps to reproduce Run the following PowerShell block: ```powershell for ($i = 1; $i -le 100; $i++) { Write-Progress -Activity "Test activity" -Status "$i% Complete:" -PercentComplete $i Start-Sleep -Milliseconds 30 } ``` ### Expected Behavior Progress bar fills up to 100%. ### Actual Behavior Progress bar fills up to about ~40%, then jumps back and stays only below the status text. ![image](https://user-images.githubusercontent.com/6414091/176050848-5e09f94e-d9d2-4002-b376-1bafd5038997.png) In Terminal (non-Preview) 1.13.11431.0 and ConHost, this works correctly.
claunia added the Issue-BugResolution-Duplicate labels 2026-01-31 05:55:17 +00:00
Author
Owner

@j4james commented on GitHub (Jun 28, 2022):

This is a variant of #13229. We're trying to optimize the end of the progress bar by sending an ECH sequence with the reverse attribute set, but the reverse attribute doesn't apply to erase operations. This only worked in the past because of a bug in our ECH implementation.

@j4james commented on GitHub (Jun 28, 2022): This is a variant of #13229. We're trying to optimize the end of the progress bar by sending an `ECH` sequence with the reverse attribute set, but the reverse attribute doesn't apply to erase operations. This only worked in the past because of a bug in our `ECH` implementation.
Author
Owner

@zadjii-msft commented on GitHub (Jul 5, 2022):

/dup #13229

@zadjii-msft commented on GitHub (Jul 5, 2022): /dup #13229
Author
Owner

@ghost commented on GitHub (Jul 5, 2022):

Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!

@ghost commented on GitHub (Jul 5, 2022): Hi! We've identified this issue as a duplicate of another one that already exists on this Issue Tracker. This specific instance is being closed in favor of tracking the concern over on the referenced thread. Thanks for your report!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#17817