[SDK-2588] Avoid multiple simultaneous HTTP calls #1998
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There appears to be a bug in lock that can result in multiple, simultaneuour, HTTP calls to the /login endpoint(s).
To reproduce:
In lock, try the following In Chrome:
• Ensure username/email and password are filled in
• Focus the username/email field
• hit enter twice fast
Network tab should show multiple calls to login.
In safari, this issue exists on both fields, not only username/email.
The reason the behavior is different in Chrome and Safari seems to be because Chrome avoids submitting the form when pressing enter in a disabled input. Password is the only field that is getting disabled when the form is being submitted.
The fix here is to ensure both username and email fields are also disabled while the form is being submitted.
On safari however, it appears that safari does not respect the disabled value and still submits the form. Therefor I changed the fix that was done in #1968, by using the
isSubmitting
value instead of thedisableSubmitButton