Better handling of asynchronous operations
- Dominant language
- TypeScript
- Stars
- 8
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
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.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by comparing the organization deploy page with the scheme dashboards to find where asynchronous operation state and feedback are currently handled. Define which user actions must be blocked during incomplete operations and how all active operations will be shown; done means scheme dashboards provide progress feedback and harmful actions are prevented until completion.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100