rsnext/test/e2e/app-dir/ppr-navigations/loading-tsx-no-partial-rendering/app
Andrew Clark b83e0f5843
[PPR Navs] Bugfix: Dynamic data never streams in if prefetch entry is stale (#59833)
Adds a regression test and a fix for a bug that sometimes happens when a
prefetched route on the client becomes stale — the app would get stuck
in a loading state.

The problem was the condition I used to fallback to the non-PPR
implementation, inside navigateReducer. It was too narrow, causing
prefetched segments that contained dynamic holes to sometimes be treated
as if they were complete. The net effect was that the dynamic data would
never stream in, and the page would get stuck in a fallback state until
the stale prefetch was eventually purged from the cache, or the user
refreshed the page.

The reason the mistake happened was, as an incremental step, I decided
to fallback to the non-PPR implementation for any case where I hadn't
yet implemented the equivalent functionality. I think still think this
is a good strategy, despite the mistake, but I'm eager to get everything
migrated to the new model as soon as possible.


Closes NEXT-1920
2023-12-21 07:49:30 -08:00
..
[dataKey] [PPR Navs] Bugfix: Dynamic data never streams in if prefetch entry is stale (#59833) 2023-12-21 07:49:30 -08:00
start [PPR Navs] Bugfix: Dynamic data never streams in if prefetch entry is stale (#59833) 2023-12-21 07:49:30 -08:00
layout.tsx [PPR Navs] Bugfix: Dynamic data never streams in if prefetch entry is stale (#59833) 2023-12-21 07:49:30 -08:00
loading.tsx [PPR Navs] Bugfix: Dynamic data never streams in if prefetch entry is stale (#59833) 2023-12-21 07:49:30 -08:00
test-data-service.ts [PPR Navs] Bugfix: Dynamic data never streams in if prefetch entry is stale (#59833) 2023-12-21 07:49:30 -08:00