The primary reason this happens is that Safari may wait for the entire response to be completed before it starts rendering, especially if the initial data chunk is small. Safari might not start rendering chunked content (which enables streaming and Suspense fallbacks) if the initial payload is too small. Workaround: Add enough static content (like a large header or footer) above the suspense boundary to increase the initial response size. This is a workaround for the browsers rendering behavior, not an official fix.