From the load-time pop-in audit (the profile/settings/versus fixes shipped; these three were deferred as known-minor).
Symptom: For signed-in users, explore.web.tsx's personalized rows — "Jump Back In" (recentlyViewed), "Your Favourites", and RightNowBand's trendingForUser — resolve AFTER the page paints and shove content down. HomeRow returns null when empty, so a row appears near the top of the beige canvas and shifts everything below it.
Why deferred: logged-out load is clean (those rows are empty); only signed-in users see it.
Fix direction
- Fold
recentlyViewed / favourites / trendingForUser readiness into the started gate (exploreQueries.ts), OR reserve their slots so late arrival doesn't shift layout.
Files: app/(tabs)/explore.web.tsx (~1399, ~1481, ~1386), src/lib/query/exploreQueries.ts (~137-151)
From the load-time pop-in audit (the profile/settings/versus fixes shipped; these three were deferred as known-minor).
Symptom: For signed-in users,
explore.web.tsx's personalized rows — "Jump Back In" (recentlyViewed), "Your Favourites", and RightNowBand'strendingForUser— resolve AFTER the page paints and shove content down.HomeRowreturns null when empty, so a row appears near the top of the beige canvas and shifts everything below it.Why deferred: logged-out load is clean (those rows are empty); only signed-in users see it.
Fix direction
recentlyViewed/favourites/trendingForUserreadiness into thestartedgate (exploreQueries.ts), OR reserve their slots so late arrival doesn't shift layout.Files:
app/(tabs)/explore.web.tsx(~1399, ~1481, ~1386),src/lib/query/exploreQueries.ts(~137-151)