sveltejs / svelte

Cybernetically enhanced web apps
https://svelte.dev
MIT License
78.04k stars 4.08k forks source link

Svelte 5: Hot Reload not working with included component #12403

Closed gemue-parndt closed 1 month ago

gemue-parndt commented 1 month ago

Describe the bug

Hot Reload is not working if a component is mounted into a +page.svelte. When editing the mounted compontent and i.e. change a text or add a div the component is going to disappear in the browser. In order to show the component again one have to reload the browser page.

In case the code of the component is directly written into the +page.svelte file it's working as intended. One can change the code on the +page.svelte and it reloads the desired place.

Reproduction

I've created the following example to reproduce the bug. On the root route / there is the mounted component causing the bug. On the /example route the component code is directly written into the +page.svelte not producing any issues.

reproduction.zip

EDIT: Works in 5.0.0-next.178 and breaks in 5.0.0-next.179

Logs

-

System Info

System:
    OS: Windows 11 10.0.22621
    CPU: (28) x64 13th Gen Intel(R) Core(TM) i7-13850HX
    Memory: 10.17 GB / 31.69 GB
  Binaries:
    bun: 1.1.18 - ~\.bun\bin\bun.EXE
  Browsers:
    Edge: Chromium (126.0.2592.87)
  npmPackages:
    svelte: ^5.0.0-next.181 => 5.0.0-next.181

Severity

annoyance

PudottaPommin commented 1 month ago

In my project on 178 it's working as expected, and stopped with version 179 onwards

HummingMind commented 1 month ago

In my project on 178 it's working as expected, and stopped with version 179 onwards

Same here. 178 works, 179+ breaks.

HummingMind commented 1 month ago

@Rich-Harris Hello Rich Would it be possible to get a fix for this one into next.186? Makes it rather difficult to dev with Svelte 5 RC. 😢

Thank you! 🍻

Rich-Harris commented 1 month ago

You can pin to an older version until we get a chance to fix it

HummingMind commented 1 month ago

Not sure what changed, but this is now working fine for me. I don't think it was a fix in svelte5 itself, as I tested with versions where this was still happening. I am guessing some other package received the fix?

AlbertMarashi commented 1 month ago

@HummingMind are you sure?

dummdidumm commented 1 month ago

Fixed by #12575

HummingMind commented 1 month ago

@HummingMind are you sure?

It did on my desktop. I am about to go on my laptop in 30 minutes, I'll see what happens there.

HummingMind commented 1 month ago

@HummingMind are you sure?

Yes. Looks like 197 fixed it, as @dummdidumm mentioned above.

The reason I thought older versions worked, because I forgot I was using ^ in my devDependencies for Svelte, so I was changing the version numbers but npm was always using 197. 😆