lib: Fix race condition in "double dialog" error check #19616
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.
useState() setters are async. c-podman and navigator call
Dialogs.close(); Dialogs.show(...)
in direct succession. In that case, Dialogs.show() does not yet see the updatednull
value fordialog
and logs the error, which fails the test.To avoid that, use a ref for "is the dialog open", which is synchronous.
Spotted in cockpit-project/cockpit-files#156 and cockpit-project/cockpit-podman#1484 .