Skip to content

Conversation

@DHowett
Copy link
Member

@DHowett DHowett commented Oct 1, 2025

If the progress state hasn't been set for more than 200ms, we shouldn't even bother flickering the old state.

This prevents applications from making the tab (and the taskbar icon) flicker.

We were reviewing #19394 and decided that the original behavior before Leonard's throttling fix was somewhat unfortunate as well. An application that sets an indeterminate state for 10ms and then clears it shouldn't be able to make any part of the application flicker, fast or slow.

Removing the leading fire time from the throttled function ensures that it will only fire once every 200ms, and only with the state most recently set. It will not debounce (so setting the progress every 150ms will not prevent it from updating.)

Closes #19394

If the progress state hasn't been set for more than 200ms, we shouldn't even bother flickering the old state.

Closes #13934
@github-project-automation github-project-automation bot moved this to To Cherry Pick in 1.24 Servicing Pipeline Oct 2, 2025
@DHowett DHowett merged commit 998ab58 into main Oct 2, 2025
17 of 19 checks passed
@github-project-automation github-project-automation bot moved this to To Cherry Pick in 1.23 Servicing Pipeline Oct 2, 2025
@DHowett DHowett moved this from To Cherry Pick to Cherry Picked in 1.23 Servicing Pipeline Oct 8, 2025
@DHowett DHowett moved this from To Cherry Pick to Cherry Picked in 1.24 Servicing Pipeline Oct 8, 2025
DHowett added a commit that referenced this pull request Oct 8, 2025
If the progress state hasn't been set for more than 200ms, we shouldn't
even bother flickering the old state.

This prevents applications from making the tab (and the taskbar icon)
flicker.

We were reviewing #19394 and decided that the _original_ behavior before
Leonard's throttling fix was somewhat unfortunate as well. An
application that sets an indeterminate state for 10ms and then clears it
shouldn't be able to make any part of the application flicker, fast _or_
slow.

Removing the leading fire time from the throttled function ensures that
it will only fire once every 200ms, and only with the state most
recently set. It will not debounce (so setting the progress every 150ms
will not prevent it from updating.)

Closes #19394

(cherry picked from commit 998ab58)
Service-Card-Id: PVTI_lADOAF3p4s4AxadtzgfZOsM PVTI_lADOAF3p4s4Axadtzgfb1Nw
Service-Version: 1.23
DHowett added a commit that referenced this pull request Oct 8, 2025
If the progress state hasn't been set for more than 200ms, we shouldn't
even bother flickering the old state.

This prevents applications from making the tab (and the taskbar icon)
flicker.

We were reviewing #19394 and decided that the _original_ behavior before
Leonard's throttling fix was somewhat unfortunate as well. An
application that sets an indeterminate state for 10ms and then clears it
shouldn't be able to make any part of the application flicker, fast _or_
slow.

Removing the leading fire time from the throttled function ensures that
it will only fire once every 200ms, and only with the state most
recently set. It will not debounce (so setting the progress every 150ms
will not prevent it from updating.)

Closes #19394

(cherry picked from commit 998ab58)
Service-Card-Id: PVTI_lADOAF3p4s4BBcTlzgfZOsU PVTI_lADOAF3p4s4BBcTlzgfb1NE
Service-Version: 1.24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Cherry Picked
Status: Cherry Picked

Development

Successfully merging this pull request may close these issues.

Taskbar action handling is slow in 1.25

3 participants