Skip to content

fix: progress bars move while Windows Features, System Report and Windows Update work, and monitoring shows none - #2924

Merged
laurentiu021 merged 1 commit into
mainfrom
fix/progress-bars-move-while-busy
Oct 21, 2026
Merged

laurentiu021 merged 1 commit into
mainfrom
fix/progress-bars-move-while-busy

Conversation

@laurentiu021

Copy link
Copy Markdown
Owner

Closes #2812.

The bar at the foot of a tab, StatusFooter and the hand-built bars like it, shows while IsBusy is true and moves only while IsProgressIndeterminate is. Four members set busy alone, so their bars sat empty and still:

  • Windows Features, turning a feature on or off: a DISM run that can take minutes. The scan sets both flags; the toggle now does too, and resets both in its finally.
  • System Report's export, which generates the report again before writing the file. Generate sets both; the export now does too.
  • Windows Update's module check, whose bar binds Progress as well, so it showed whatever value the last download had left, standing still. Found by the guard below; not in the issue.
  • New App Alerts held IsBusy for as long as monitoring was on. It is busy now only while TakeBaseline and Start run, with the bar moving, and monitoring is IsMonitoring and the status line. The sidebar's mark under the tab's name follows IsBusy too, so it shows for the baseline and no longer for the whole time monitoring is on. Nothing else reads the tab's IsBusy: the taskbar showed nothing for it, since monitoring set no progress either.

New guard: ArchitectureTests.EveryBusyFlag_SaysHowTheBarFollowingItMoves. For every view with StatusFooter, or a ProgressBar showing on IsBusy with IsIndeterminate bound to IsProgressIndeterminate, it finds the view model in MainWindowViewModel's tab table and requires every member that sets IsBusy = true to assign IsProgressIndeterminate, or, where the view's bar binds a value, that value: the Uninstaller's run reports Progress app by app. It read 36 such views and 71 members when measured, and fails below 30 and 60.

Docs

README: New App Alerts says the bar moves while monitoring starts, and that monitoring itself shows in the status line.

Tests

  • New: WindowsFeaturesTests.ToggleFeature_MovesTheBar_WhileItRuns and WindowsUpdateViewModelTests.CheckModule_MovesTheBar_WhileItRuns hold the runner's task open and check both flags while it runs and after; AppAlertsViewModelTests.StartMonitoring_MovesTheBarForTheBaseline_AndShowsNoBarWhileMonitoring records that the bar moved during the start and is gone while monitoring. The two tests that asserted IsBusy while monitoring now assert the opposite.
  • System Report's export opens a save dialog, so it is pinned by the guard alone.
  • Red before the fix, green after, each undone on its own: the toggle (the guard and its test), the export (the guard), the module check (the guard and its test), and monitoring held busy (the guard and three tests).
  • Run locally, twice: ArchitectureTests, InclusiveTermsTests, WindowsFeaturesTests, WindowsUpdateViewModelTests and AppAlertsViewModelTests (403). All four projects build with 0 warnings, and dotnet format --verify-no-changes is clean.

…dows Update work, and monitoring shows none

- Windows Features' toggle, System Report's export and Windows Update's module check set IsProgressIndeterminate
  with IsBusy, and reset both, so the bar that follows them moves instead of standing empty.
- New App Alerts is busy only while it takes the baseline; monitoring is shown by IsMonitoring and the status line.
- ArchitectureTests.EveryBusyFlag_SaysHowTheBarFollowingItMoves requires the mode, or the value a hand-built bar
  binds, beside every IsBusy = true in a view model whose tab shows such a bar.
@laurentiu021
laurentiu021 merged commit 7666c7d into main Oct 21, 2026
6 checks passed
@laurentiu021
laurentiu021 deleted the fix/progress-bars-move-while-busy branch October 21, 2026 10:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Bug]: Windows Features, New App Alerts, System Report — the shared footer shows a frozen, empty progress bar while they work

1 participant