Open richburdon opened 4 years ago
I think this bug should be transferred to teamwork. Halo is throwing an appropriate error refusing to overwrite an existing Identity with a new one.
The error is on the part of the finish button allowing you to attempt that. It should disable the button action until the first call completes, either by error or success.
Does the HALO interface allow the caller to wait for the operation to either succeed or fail?
Yes, in fact it is the completion of the call which triggers the dismissal of the dialog (or display of an error, as the case may be).
Can you work up a PR against the code (probably this is not in teamwork but in react-client?) that implements the necessary interlock?
Also, can we look a bit into why the user might double click in this case? e.g. just deliberately to see what happens if you click twice, or is the identity creation taking a very long time leading to a reasonable expectation of double-clicking (in which case perhaps we should look into why that is the case)?
It does take a little time, and there is no feedback that anything is happening, so I sometimes have seen it when:
The user presses Enter, nothing appears to happen, and so they click.
The user clicks, nothing appears to happen, and so they click wondering if they really clicked it.
I don't think the issue is so much that it is slow (though there is definitely a bit of lag between clicking and redirecting) but rather there is zero feedback that you initiated it in the first place. If the button greyed out, or we had a spinning thing like when creating a party, I suspect that would cover a lot of it.
Spinner sounds good. Grey is not enough of a cue to expect delay.
It is also consistent with what we do for parties (which is part of what we are doing).
Don't do any work on this pending us finding a generic "critical section" library solution for JS/async.
Possible solution : https://www.npmjs.com/package/async-mutex#synchronized-code-execution I've asked Max if something like this is kosher for our project.
If click FINISH twice at end of wallet.
May be a regression since this was reported months ago?
Please don't "resolve" this by just fixing the UX.