Commit 641dca1
committed
fix: diagnose a boundary failure by the fallback, not the marker alone
The marker records a layout that throws when CALLED. It cannot record one
that fails while being SERIALIZED, the idiomatic async form with a rejecting
template hole, because by then the layout's output is fused into one tree
with the boundary's and renderToString cannot say which half threw. Treating
unmarked as tree-broken therefore skipped the standalone fallback for that
whole class, so a 403 whose layout had a rejecting hole served a bare
heading where it used to serve the boundary page, reported under the wrong
label. The fallback's OUTCOME is the other half of the diagnosis: if the
boundary renders alone the fault was layout-side, marked or not.
The unrouted 404 also gains the supersede rule its matched-page sibling has:
a later successful render of the same url clears the frame it retained, so
an intermittently-failing not-found cannot leave one that paints over a page
that has since recovered. Only reachable once the stamp was correct enough
for the overlay to accept the frame at all, which the previous commit did.1 parent c0c978c commit 641dca1
4 files changed
Lines changed: 119 additions & 24 deletions
File tree
- packages/server
- src
- dev
- ssr
- test/routing
- test/ssr
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
503 | 503 | | |
504 | 504 | | |
505 | 505 | | |
506 | | - | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
507 | 515 | | |
508 | 516 | | |
509 | 517 | | |
| |||
524 | 532 | | |
525 | 533 | | |
526 | 534 | | |
527 | | - | |
528 | | - | |
529 | | - | |
530 | | - | |
| 535 | + | |
531 | 536 | | |
532 | 537 | | |
| 538 | + | |
| 539 | + | |
| 540 | + | |
| 541 | + | |
| 542 | + | |
533 | 543 | | |
534 | 544 | | |
535 | 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 | | - | |
712 | | - | |
713 | | - | |
714 | | - | |
| 704 | + | |
| 705 | + | |
| 706 | + | |
| 707 | + | |
| 708 | + | |
| 709 | + | |
| 710 | + | |
| 711 | + | |
| 712 | + | |
| 713 | + | |
| 714 | + | |
| 715 | + | |
715 | 716 | | |
716 | 717 | | |
717 | 718 | | |
718 | | - | |
719 | | - | |
720 | | - | |
721 | | - | |
| 719 | + | |
| 720 | + | |
| 721 | + | |
| 722 | + | |
| 723 | + | |
| 724 | + | |
| 725 | + | |
| 726 | + | |
| 727 | + | |
| 728 | + | |
| 729 | + | |
| 730 | + | |
| 731 | + | |
| 732 | + | |
| 733 | + | |
722 | 734 | | |
723 | 735 | | |
724 | 736 | | |
| |||
781 | 793 | | |
782 | 794 | | |
783 | 795 | | |
784 | | - | |
785 | | - | |
786 | | - | |
| 796 | + | |
| 797 | + | |
787 | 798 | | |
788 | 799 | | |
789 | 800 | | |
790 | | - | |
| 801 | + | |
| 802 | + | |
| 803 | + | |
| 804 | + | |
| 805 | + | |
| 806 | + | |
| 807 | + | |
| 808 | + | |
| 809 | + | |
791 | 810 | | |
792 | 811 | | |
793 | 812 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
187 | 187 | | |
188 | 188 | | |
189 | 189 | | |
| 190 | + | |
| 191 | + | |
| 192 | + | |
| 193 | + | |
| 194 | + | |
| 195 | + | |
| 196 | + | |
| 197 | + | |
| 198 | + | |
| 199 | + | |
| 200 | + | |
| 201 | + | |
| 202 | + | |
| 203 | + | |
| 204 | + | |
| 205 | + | |
| 206 | + | |
| 207 | + | |
| 208 | + | |
| 209 | + | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
| 214 | + | |
| 215 | + | |
| 216 | + | |
| 217 | + | |
| 218 | + | |
| 219 | + | |
| 220 | + | |
| 221 | + | |
| 222 | + | |
| 223 | + | |
| 224 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2525 | 2525 | | |
2526 | 2526 | | |
2527 | 2527 | | |
| 2528 | + | |
| 2529 | + | |
| 2530 | + | |
| 2531 | + | |
| 2532 | + | |
| 2533 | + | |
| 2534 | + | |
| 2535 | + | |
| 2536 | + | |
| 2537 | + | |
| 2538 | + | |
| 2539 | + | |
| 2540 | + | |
| 2541 | + | |
| 2542 | + | |
| 2543 | + | |
| 2544 | + | |
| 2545 | + | |
| 2546 | + | |
| 2547 | + | |
| 2548 | + | |
| 2549 | + | |
| 2550 | + | |
| 2551 | + | |
| 2552 | + | |
| 2553 | + | |
| 2554 | + | |
| 2555 | + | |
| 2556 | + | |
| 2557 | + | |
| 2558 | + | |
2528 | 2559 | | |
2529 | 2560 | | |
2530 | 2561 | | |
| |||
0 commit comments