Follow-up to #2753 (fixed in #1952).
After landing the hydration fix, SSR for /org/[name], /~/[user], and /search always renders with the default provider (algolia), then after app:mounted useEffectiveSearchProvider flips the async-data key to the user's stored preference (npm) and useLazyAsyncData refetches. While the refetch is in flight, the data ref resets to emptySearchResponse, so the page briefly shows an empty/loading state before the npm-backed results render.
The npm provider path is also slower (e.g. useOrgPackages fans out per-package metadata requests at concurrency 10), making the flash more visible than it would be with Algolia.
Repro:
/settings → set Data source to npm registry.
- Hard-reload
/org/nuxtjs (or any user/search page without ?p=).
- Page renders Algolia data → briefly flashes to "Loading packages." /
0 / week → finally shows npm-backed results.
Expected: keep the previously-rendered (Algolia) data visible while the npm refetch is in flight, so the swap is seamless.
Follow-up to #2753 (fixed in #1952).
After landing the hydration fix, SSR for
/org/[name],/~/[user], and/searchalways renders with the default provider (algolia), then afterapp:mounteduseEffectiveSearchProviderflips the async-data key to the user's stored preference (npm) anduseLazyAsyncDatarefetches. While the refetch is in flight, thedataref resets toemptySearchResponse, so the page briefly shows an empty/loading state before the npm-backed results render.The npm provider path is also slower (e.g.
useOrgPackagesfans out per-package metadata requests at concurrency 10), making the flash more visible than it would be with Algolia.Repro:
/settings→ set Data source tonpm registry./org/nuxtjs(or any user/search page without?p=).0 / week→ finally shows npm-backed results.Expected: keep the previously-rendered (Algolia) data visible while the npm refetch is in flight, so the swap is seamless.