Make any navigation cancel ongoing navigate events #104
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 is in the broad sense of "navigation", which includes the navigate algorithm, history traversal, and pushState()/replaceState(). I.e., anything that would fire a navigate event, even if it doesn't.)
Discussed in #96 (comment).
Note that this doesn't prohibit calling
appHistory.navigate()
inside a navigate handler; we want to something more sophisticated for that, with nesting level detection. Instead this ensures that we don't get into a weird situation whereends up on
url1
because both navigations go through andurl2
finishes first. Instead the navigation tourl2
goes through and cancels the ongoing navigation tourl1
, i.e. the second one "wins", which is more what you would expect.Preview | Diff