Progress bar debouncing ignores updates within a single update interval #24728
Open
Description
Prerequisites
- Write a descriptive title.
- Make sure you are able to repro it on the latest released version
- Search the existing issues.
- Refer to the FAQ.
- Refer to Differences between Windows PowerShell 5.1 and PowerShell.
Steps to reproduce
& {
[CmdletBinding()]param()
$pr = [System.Management.Automation.ProgressRecord]::new(0, "activity", "description")
# write the progress record once, which renders the progress bar and starts the 200 ms debounce timer
$PSCmdlet.WriteProgress($pr)
sleep 0.1
# update progress record state and write it again - this write is ignored, and the progress bar still
# shows "description" instead of "new description", even after the 200 ms debounce timer expires
$pr.StatusDescription = "new description"
$PSCmdlet.WriteProgress($pr)
sleep 1
}
Expected behavior
Progress bar briefly flashes with description
and then changes to new description
. Even if the update is not picked up immediately, I'd expect that the updated progress bar state should be stored and rendered on the next repaint after the debounce timer expires.
Actual behavior
Progress bar is stuck on description
and new description
never shows.
Environment data
Name Value
---- -----
PSVersion 7.3.0-preview.2
PSEdition Core
GitCommitId 7.3.0-preview.2
OS Microsoft Windows 10.0.19045
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0
Visuals
No response