You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix(sveltekit): Avoid data invalidation in wrapped client-side load functions (#9071)
This patch fixes a data invalidation issue that appeared on the client side
when auto-instrumenting or manually wrapping universal `load` functions.
Because our `wrapLoadWithSentry` function accessed `event.route.id`, the
data returned from `load` would be invalidated on a route change. As
reported in #8818 , this caused prefetched, actually still valid data to be
invalidated during the navigation to the page, causing another `load`
invocation.
To avoid this invalidation, we change the way how we read the route.id,
to first use `Object.getOwnPropertyDescriptor` which doesn't trigger the
proxy that listens to accesses. This, however, will only work for
`@sveltejs/kit>=1.24.0` which includes a
[change](sveltejs/kit#10576) to the Kit-internal
proxy. For older versions of kit, we continue to directly read from
`event.route.id`, which will still cause invalidations. Not ideal but
IMO the best we can do without loosing data.
closes#8818
0 commit comments