daostack / vanille

GNU General Public License v3.0
8 stars 2 forks source link

Better handling of asynchronous operations #8

Open dkent600 opened 6 years ago

dkent600 commented 6 years ago

Alchemy currently provides feedback on operations in progress only on the organization deploy page, not in the scheme dashboards. We should also provide such feedback on the scheme dashboards. Likewise when there eventually includes voting and other new functionality.

Since these operations are asynchronous, and the user can currently move on and do other things with the application, the question arises as to whether the application should allow the users such freedom, or alternatively make these operations "modal", effectively making these operations synchronous.

There is the potential for undesirable outcomes during an asynchronous operation that is only partially complete. Some asynchronous operations actually involve multiple transactions. Until the completion of all of them, a DAO or scheme may be in an unusable state. There could arise in this case the potential for errors or corruption if the user were allowed to make further changes while another such operation is in progress.

Thus, as part of this issue, the application should prevent harmful user actions until an operation has completed. The extent of modality could be whole (the entire app) or partial (just certain functions) as is appropriate for the operation.

In any case, feedback should be given as to the current state of progress of an operation. This may optionally include showing progress as it proceeds from one event to another, if multiple events are triggered during the operation.

If the app does not go completely modal, then it is possible for multiple asynchronous operations to be in progress simultaneously. The user should be able to see feedback on all of them.