Repository navigation
fix: progress bars move while Windows Features, System Report and Windows Update work, and monitoring shows none - #2924
Merged
Conversation
…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.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #2812.
The bar at the foot of a tab,
StatusFooterand the hand-built bars like it, shows whileIsBusyis true and moves only whileIsProgressIndeterminateis. Four members set busy alone, so their bars sat empty and still:finally.Progressas well, so it showed whatever value the last download had left, standing still. Found by the guard below; not in the issue.IsBusyfor as long as monitoring was on. It is busy now only whileTakeBaselineandStartrun, with the bar moving, and monitoring isIsMonitoringand the status line. The sidebar's mark under the tab's name followsIsBusytoo, so it shows for the baseline and no longer for the whole time monitoring is on. Nothing else reads the tab'sIsBusy: the taskbar showed nothing for it, since monitoring set no progress either.New guard:
ArchitectureTests.EveryBusyFlag_SaysHowTheBarFollowingItMoves. For every view withStatusFooter, or aProgressBarshowing onIsBusywithIsIndeterminatebound toIsProgressIndeterminate, it finds the view model inMainWindowViewModel's tab table and requires every member that setsIsBusy = trueto assignIsProgressIndeterminate, or, where the view's bar binds a value, that value: the Uninstaller's run reportsProgressapp 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
WindowsFeaturesTests.ToggleFeature_MovesTheBar_WhileItRunsandWindowsUpdateViewModelTests.CheckModule_MovesTheBar_WhileItRunshold the runner's task open and check both flags while it runs and after;AppAlertsViewModelTests.StartMonitoring_MovesTheBarForTheBaseline_AndShowsNoBarWhileMonitoringrecords that the bar moved during the start and is gone while monitoring. The two tests that assertedIsBusywhile monitoring now assert the opposite.ArchitectureTests,InclusiveTermsTests,WindowsFeaturesTests,WindowsUpdateViewModelTestsandAppAlertsViewModelTests(403). All four projects build with 0 warnings, anddotnet format --verify-no-changesis clean.