There were a couple of timing-related bugs in the code, mostly due to HTMLDialogElement throwing an error if you try to open a dialog when it's already open. This was happening due to some convoluted logic in the sequence of events from Reset All Progress dialog to Welcome dialog to Mission Info dialog, including some useEffect side-effects on component update. I've simplified the logic, but also needed to remove the "click away to close dialog" behaviour, because it was causing an unrecoverable problem in which more than one click handler could become bound to the window, causing some dialogs to close as soon as they'd opened.
Description
There were a couple of timing-related bugs in the code, mostly due to HTMLDialogElement throwing an error if you try to open a dialog when it's already open. This was happening due to some convoluted logic in the sequence of events from Reset All Progress dialog to Welcome dialog to Mission Info dialog, including some useEffect side-effects on component update. I've simplified the logic, but also needed to remove the "click away to close dialog" behaviour, because it was causing an unrecoverable problem in which more than one click handler could become bound to the window, causing some dialogs to close as soon as they'd opened.
Resolves #862
Notes
Checklist
Have you done the following?