Commit fdf0e4c
committed
fix: do not treat a failed prefetch as a recovery, or re-render a chainless boundary
The retained-frame clear infers that a render succeeded from the frame it
captured still being current, and that inference holds only when a sink was
installed to write a new one. A prefetch installs none, so a prefetch of a
url whose not-found throws AGAIN looked exactly like a recovery and wiped a
frame that was still current, which is the gap the retention exists to
close. The matched-page branch gates its whole supersede closure on
!isPrefetch for this reason; this one was gated only on dev.
The standalone fallback also ran when no route was supplied, where there is
no layout chain and the try body already ran that exact renderToString. It
re-executed the boundary tree to learn nothing, and a tree that is not
idempotent under re-render could succeed on the retry and be reported as a
layout crash that never happened.1 parent 641dca1 commit fdf0e4c
3 files changed
Lines changed: 50 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
510 | 510 | | |
511 | 511 | | |
512 | 512 | | |
513 | | - | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
514 | 522 | | |
515 | 523 | | |
516 | 524 | | |
| |||
531 | 539 | | |
532 | 540 | | |
533 | 541 | | |
534 | | - | |
| 542 | + | |
535 | 543 | | |
536 | 544 | | |
537 | 545 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
701 | 701 | | |
702 | 702 | | |
703 | 703 | | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
704 | 712 | | |
705 | 713 | | |
706 | 714 | | |
| |||
793 | 801 | | |
794 | 802 | | |
795 | 803 | | |
796 | | - | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
797 | 807 | | |
798 | 808 | | |
799 | 809 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
| 225 | + | |
| 226 | + | |
| 227 | + | |
| 228 | + | |
| 229 | + | |
| 230 | + | |
| 231 | + | |
| 232 | + | |
| 233 | + | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
| 241 | + | |
| 242 | + | |
| 243 | + | |
| 244 | + | |
| 245 | + | |
| 246 | + | |
| 247 | + | |
| 248 | + | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
0 commit comments