From 8e50c74da20ee8b5d22b2827634e45f4a8d13df8 Mon Sep 17 00:00:00 2001 From: Jakub Kolezynski Date: Wed, 13 Sep 2023 10:36:12 +0200 Subject: [PATCH 1/4] fix popstate navigation through a different route --- packages/kit/src/runtime/client/client.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/kit/src/runtime/client/client.js b/packages/kit/src/runtime/client/client.js index e9b660f2cd36..81b1a15b7a0b 100644 --- a/packages/kit/src/runtime/client/client.js +++ b/packages/kit/src/runtime/client/client.js @@ -1662,6 +1662,7 @@ export function create_client(app, target) { }); addEventListener('popstate', async (event) => { + token = {}; if (event.state?.[INDEX_KEY]) { // if a popstate-driven navigation is cancelled, we need to counteract it // with history.go, which means we end up back here, hence this check @@ -1693,7 +1694,8 @@ export function create_client(app, target) { history.go(-delta); }, type: 'popstate', - delta + delta, + nav_token: token, }); } else { // since popstate event is also emitted when an anchor referencing the same From 6fcd0124d1f19f80170170aae0de5355c102d1e8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kole=C5=BCy=C5=84ski?= <1st.cubix@gmail.com> Date: Wed, 13 Sep 2023 15:27:09 +0000 Subject: [PATCH 2/4] remove trailing comma --- packages/kit/src/runtime/client/client.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/kit/src/runtime/client/client.js b/packages/kit/src/runtime/client/client.js index 81b1a15b7a0b..8d476da26df0 100644 --- a/packages/kit/src/runtime/client/client.js +++ b/packages/kit/src/runtime/client/client.js @@ -1695,7 +1695,7 @@ export function create_client(app, target) { }, type: 'popstate', delta, - nav_token: token, + nav_token: token }); } else { // since popstate event is also emitted when an anchor referencing the same From 06fa6b8e0ece25af985387159c7da9c32a95b97e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Kole=C5=BCy=C5=84ski?= <1st.cubix@gmail.com> Date: Thu, 14 Sep 2023 07:43:01 +0000 Subject: [PATCH 3/4] add changeset entry --- .changeset/neat-chicken-turn.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/neat-chicken-turn.md diff --git a/.changeset/neat-chicken-turn.md b/.changeset/neat-chicken-turn.md new file mode 100644 index 000000000000..06170f83b7d9 --- /dev/null +++ b/.changeset/neat-chicken-turn.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +fix: navigation with browser back button always cancels ongoing navigation, preventing incorrect page being rendered From 8c323bdcc2cdc2bb3817bbe7257c63abe53acee0 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Mon, 9 Oct 2023 13:53:36 -0700 Subject: [PATCH 4/4] Update .changeset/neat-chicken-turn.md --- .changeset/neat-chicken-turn.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/neat-chicken-turn.md b/.changeset/neat-chicken-turn.md index 06170f83b7d9..d5cfcf449bb0 100644 --- a/.changeset/neat-chicken-turn.md +++ b/.changeset/neat-chicken-turn.md @@ -2,4 +2,4 @@ '@sveltejs/kit': patch --- -fix: navigation with browser back button always cancels ongoing navigation, preventing incorrect page being rendered +fix: cancel ongoing navigation when the browser back button is hit to prevent an incorrect page from being rendered