Notify if needed before deferring subscriber notifications #251
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 PR fixes a bug with
deferSubscriberNotifications
, where it's called right after a state update.In general, when dispatching a state update, we update
pendingBroadcastNotification
and notify all on the next animation frame.When calling
deferSubscriberNotifications
right after a dispatch, we face with a case where we should have notified subscribers, but there was no animation frame yet, and so we start deferring notification before notifying on the previous state update. Meaning, we do not notify about the state update that happened right before we started deferring until we stop deferring all notifications.This is an unexpected behaviour, and to solve this, this PR adds executes all pending actions before starting to defer notifications, in case there are pending subscribers\observables\flush.