sveltejs / kit

web development, streamlined
https://kit.svelte.dev
MIT License
18.62k stars 1.92k forks source link

$page store does not react to certain navigation changes or stores incorrect data #12742

Open gyzerok opened 2 weeks ago

gyzerok commented 2 weeks ago

Describe the bug

I've found two bugs with navigating using both goto and pushState related to $page store.

When navigating with goto to the same route as the current one even though $page.state changes no $effect runs on it.

When using pushState and passing new url to it you get stuck with $page.params pointing to the previous incorrect url.

Reproduction

Here is the repo: https://github.com/gyzerok/sveltekit-nav-bug

Bug with goto and state:

  1. Go to page /bug
  2. Click goto button
  3. No effects run and console log anything (expected console log about state change)
  4. Click Log $page button and see that actually state in the $page changed

With Svelte I strongly expect that if some state changes the effects are run as a result of this change which is not the case here.

Bug with pushState and url:

  1. Go to page /bug
  2. Click on pushState button
  3. You get a log where params.id: "bug", however in the browser url you see /test

Logs

No response

System Info

@sveltejs/kit: 2.6.1
svelte: 5.0.0-next.260

Severity

serious, but I can work around it

Additional Information

No response

eltigerchino commented 4 days ago

also related to https://github.com/sveltejs/kit/issues/11503 where the page store is not being notified of updates made to it