Currently, users can skip a step manually by clicking around in the left hand menu.
required steps will ping pong back the user to the first required step by traversing through the dependency steps.
But optional steps doesn't really have any requirements.
But the chain of spawn() calls is in sequential order, meaning if a step is hard-skipped, the spawn() chain will fail. This is partially by design - but a step that hasn't been "chosen" or "skipped" via the panel, should notify the user about the current hold.
Example:
Select a drive
Skip encryption
Skip mirrors (by using default)
Manually skip Language by cliking on Profiles - not the save button in the language section
Select a profile (for instance desktop.py) and wait for it to be queued.
This leaves Language unresolved forever, until the user goes back to language and presses skip or save. If all steps are in queued and doesn't release for ~5 seconds, the user should be notified of which step is hanging (in this case, Language) to make it more clear that user interaction is needed.
Currently, users can skip a step manually by clicking around in the left hand menu.
required
steps will ping pong back the user to the first required step by traversing through the dependency steps.But optional steps doesn't really have any requirements. But the chain of
spawn()
calls is in sequential order, meaning if a step is hard-skipped, thespawn()
chain will fail. This is partially by design - but a step that hasn't been "chosen" or "skipped" via the panel, should notify the user about the current hold.Example:
Language
by cliking onProfiles
- not the save button in the language sectiondesktop.py
) and wait for it to be queued.This leaves
Language
unresolved forever, until the user goes back to language and pressesskip
orsave
. If all steps are inqueued
and doesn't release for ~5 seconds, the user should be notified of which step is hanging (in this case,Language
) to make it more clear that user interaction is needed.