Ensure calls to @close
run before the focus-out deactivation
#596
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.
This wasn't covered by our test suite before.
Expected behavior: Calling
@close
on a modal will close the modal and in turn should resolve the modal promise with any arguments passed to that function.Actual behavior: Closing the modal also triggers
focus-out
, which in turn also calls the modal close callback but without any return data, racing the manual call to@close
, which means the modal promise is resolved withundefined
because theonDeactivate
hook offocus-out
runs before the modal close.This happens because
focus-out
changed when it'sonDeactivate
hook is triggered, introducing a newonPostDeactivate
which has the same timing as the old one.