handle removing request lock on errors #3284
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.
Description
During loc coverage testing I found an issue where later tests would start to fail if errors happened in previous tests. This is because on two of the error paths the xhr request lock is not being removed. So I've added the end lock command to both of these paths. If a URL is verified and fails verification because it is say blocked because it is cross domain then it will not remove the lock here and any future requests by that same triggering element will fail. Also if anyhting in the onload response handler throws an error the same thing will happen and the element will be locked out of all future requests. This bug has probably not been found before because in most situations retrying would just fail again even if you could retry the request. But this change allows it to fail in a more graceful way and gives more chances for a user testing their app to retry the request multiple times to find and debug the cause.
This PR plus the other ones I just posted should get us to 100% loc coverage!!!!!
Corresponding issue:
Testing
Checklist
master
for website changes,dev
forsource changes)
approved via an issue
npm run test
) and verified that it succeeded