What is the issue with the HTML Standard?
The algorithm Performing a Navigation API traversal has a troublesome issue with step 12.3:
- If targetSHE is navigable's active session history entry, then abort these steps.
This can and will "dead lock" something as simple as await navigation.back().finished:
<!doctype html>
<head>
<script>
onload = () => setTimeout(test, 0);
async function test() {
await navigation.navigate('#1').finished;
navigation.onnavigate = async () => {
// Will "dead lock" the promise.
// Any user waiting on this, will be waiting forever.
await navigation.back().finished;
}
history.back();
}
</script>
</head>
@noamr, @farre, @zcorpan (whom maybe can CC additional people that are appropriate).