solidjs / solid-start

SolidStart, the Solid app framework
https://start.solidjs.com
MIT License
5.19k stars 375 forks source link

[Bug?]: syntax errors in ./app.tsx causes uncaught 500 error #1648

Open bigmistqke opened 1 month ago

bigmistqke commented 1 month ago

Duplicates

Latest version

Current behavior 😯

When editing app.tsx the website will 500 when the app i in an incorrect state. The dev-overlay is visible for a fraction of a second and then the default browser display is shown. The app is then not being able to get recovered with hmr.

https://github.com/user-attachments/assets/f20ed5c4-c947-48b9-b0d9-256671bf6012

When editing a file that app.tsx imports (and renders), the error does not occur:

https://github.com/user-attachments/assets/9b877910-e160-460f-ac6e-b1a4a61d97b3

It was slightly different behavior in the context of where I found out about the bug. I am making a sveltelab thingy for the hackathon, a repl powered by stackblitz' webcontainers. There some imports did cause similar 500s.

https://github.com/user-attachments/assets/c9ece388-c591-4e89-a8f2-706b36c31c7b

routes that are currently rendered can also be edited without 500, it's only app.tsx

https://github.com/user-attachments/assets/5f443737-b060-45bc-8972-e139171f1612

Expected behavior 🤔

To be able to write invalid code without the app getting in to an unrecoverable 500-error.

Steps to reproduce 🕹

Steps:

  1. clone the bare solid start example
  2. pnpm install && pnpm dev
  3. edit src/app.tsx so it is invalid javascript and save
  4. see that page 500s without dev-overlay
  5. edit src/app.tsx so it is valid again
  6. see that it does not reload

Context 🔦

No response

Your environment 🌎

No response

ryansolid commented 2 weeks ago

Hmm.. trying to think about who to get to look at this one. HMR behavior here could be related to Vinxi (@nksaraf) or it could be related to solid refresh or the overlay (@lxsmnsyc). Maybe either of them would have a better idea of how this should be working.