-
-
Notifications
You must be signed in to change notification settings - Fork 4.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Better effect stack logging #13256
Comments
The reason I went with the functions itself is that you get a link to the function location "for free", and it is correctly pointing to the source; either what you wrote (via sourcemaps) or what was generated (if sourcemaps are turned off) (which is still useful). Using the stack trace isn't gonna work because for that to be transformed into clickable links correctly you need the generated code location (file + position) info, and at the time when we apply the location information we only have the original code. |
There's several places where we emit |
From discord: it would be useful to get the same for the "cannot mutate state inside a derived" error |
Moving this to 5.x as it's non blocking. |
It would be really useful for debugging to be able to inspect the effect trace manually. Similar to how we can inspect the stack trace with |
This would be extremely helpful. Evidently there is an undocumented breakage in Svelte 5, because our Svelte 4 component files, which worked in Svelte 4, now fail on Svelte 5. We are getting tons of the effect_update_depth_exceeded errors in our tests, but currently no way to know exactly where they are coming from, making migration very difficult. So I would very much welcome some sort of |
Did you migrate to rune too? Because svelte 5 should be pretty much back compatible with 4 especially the labeled statement shouldn't produce infinite loops. Can you provide a reproduction? |
@paoloricciuti No, these errors appear to be in non-rune svelte files. And I'd happily produce a reproduction, but without the error mentioning where it is happening, I don't know which of the 400 odd svelte files I have is causing it ^_^ Once Svelte is able to report the error location, I will file a new ticket highlighting the Svelte 4 syntax causing the infinite loops. |
Describe the problem
See #13231 (comment)
Describe the proposed solution
Attach location information to effects in development, so that it can be used when generating the error message. For simple cases where there's only a single effect involved we can do this sort of thing:
If there are multiple effects running in a loop, the message could be more like this...
...or we could try and be smarter about it so that we identify the actual loop (which aside from truly pathological cases should just be a case of going back until we see the most recent effect earlier in the stack?)
Importance
nice to have
The text was updated successfully, but these errors were encountered: