Fix promise that never completes [SDK-3216] #464
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.
Changes
When using Web Auth, after the native code calls the RN callback with an error or the redirect URL, the javascript code checks those values and either rejects or resolves a promise. But the code was not handling the case when both error and redirect URL are null, which can happen on iOS under particular circumstances (e.g. retrying the Web Auth login immediately after it failed).
This PR handles that case by rejecting the promise with an error.
References
Fixes #460
Testing
A unit test was added for this scenario, and also it was tested manually on iOS 15.4 (iPhone simulator), using React Native
0.66.4
.Checklist