Disable Quickstart Playground after the experimental feature is turned off #3844
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.
Summary of the pull request
User will no longer be allowed to interact or see the QSP UI in the machine configuration tab after the user has disabled the QSP experimental feature in settings
References and relevant issues
Resolves issue #3233
Detailed description of the pull request / Additional comments
With my changes, when the quickstartplaygroundviewmodel is loaded, it will check for the value of whether quickstartplayground experimental feature is enabled. If it's not, it will cancel out of the current setup flow and go back to the desired main page.
The reason why this issue is happening is the experiment service doesn't have an event that it sends out to tell subscribers that an experiments state has changed. The setup flow's viewmodel and orchestrator are singletons, so what ever flow the user currently selects, will stay on the screen. since there is no event nothing happens.
I think ideally, we wanted a more generic experimental feature solution where we could add an event to the experimentation service that the setup flow subscribes to, that when triggered, if the experiment is a flow in the setup flow, then we cancel out of the flow and go back to the machine setup flow page. However, with the current way that machine config is setup with its navigation and flow pages, it makes it more difficult to achieve that. Thus, for this PR, it will address specifically the qsp issue.
Also currently, with my solution, there is a one frame that flashes when the qsp view model is navigating back to the machine config main page.
Validation steps performed
locally built and verified
PR checklist