fix(sveltekit): Avoid invalidating data on route changes in wrapServerLoadWithSentry
#8801
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
As reported in #8610, our SvelteKit SDK caused server load data to be invalidated, resulting in said functions being called on every route change. I initially thought this was related to our Kit-specific client fetch instrumentation which turned out not to be causing this. Instead, the culprit is our
wrapServerLoadWithSentry
wrapper:In the wrapper, we access
event.route.id
to determine the route of the load function for the span description. Internally, SvelteKit puts a proxy on certainevent
properties, such asevent.route
. In case any property ofevent.route
was accessed, SvelteKit marks this internally and send along a flag to the client. On a route change, the client would check this flag and mark the route as invalidated, thereby causing a call to the load function on each navigation.Took me quite a while to find the cause but thanks to @kamilogorek we found a fix to access the route id without invoking the proxy.
closes #8610