Commit f72c16d
committed
fix: dedupe boundary reports by cause, not by "one per request"
The latch was wrong in both directions. Control only reaches the
global-error attempt because an earlier boundary threw, so on any route with
a real error.ts the latch was already spent and global-error's own crash was
reported nowhere, which is exactly what the previous commit added it to
prevent. My test missed it by using an empty errors chain, so it passed
without ever exercising the path that matters. It uses a real boundary now.
In the other direction the latch silenced genuinely distinct failures: an
inner boundary throwing a TypeError consumed it, so a later, unrelated
layout crash vanished. That made the sentence the same commit added to
AGENTS.md and the skill, that a real layout crash is reported rather than
swallowed, false as written.
Dedup is keyed on the error's name, message and throw site instead. That
collapses the case it exists for, one shared layout failing several boundary
attempts, while two different causes are both reported. Identity cannot be
the key, since a layout that constructs its error yields a fresh object per
attempt.
The docs site was also left behind: both website pages stated only the
outward-walk rule while AGENTS.md and the skill had gained the 500 versus
404/403/401 divergence. All four surfaces agree now, including the dedup.1 parent 05991db commit f72c16d
6 files changed
Lines changed: 94 additions & 24 deletions
File tree
- .agents/skills/webjs/references
- packages/server/src/ssr
- test/ssr
- website/app/docs
- error-handling
- routing
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
217 | 217 | | |
218 | 218 | | |
219 | 219 | | |
220 | | - | |
| 220 | + | |
221 | 221 | | |
222 | 222 | | |
223 | 223 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
340 | 340 | | |
341 | 341 | | |
342 | 342 | | |
343 | | - | |
| 343 | + | |
344 | 344 | | |
345 | 345 | | |
346 | 346 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
414 | 414 | | |
415 | 415 | | |
416 | 416 | | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
417 | 434 | | |
418 | 435 | | |
419 | 436 | | |
| |||
435 | 452 | | |
436 | 453 | | |
437 | 454 | | |
438 | | - | |
439 | | - | |
440 | | - | |
441 | | - | |
442 | | - | |
443 | | - | |
444 | | - | |
445 | | - | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
| 465 | + | |
| 466 | + | |
| 467 | + | |
| 468 | + | |
| 469 | + | |
446 | 470 | | |
447 | 471 | | |
448 | 472 | | |
| |||
455 | 479 | | |
456 | 480 | | |
457 | 481 | | |
458 | | - | |
| 482 | + | |
459 | 483 | | |
460 | 484 | | |
461 | 485 | | |
462 | | - | |
463 | | - | |
464 | | - | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
465 | 490 | | |
466 | 491 | | |
467 | 492 | | |
| |||
1070 | 1095 | | |
1071 | 1096 | | |
1072 | 1097 | | |
1073 | | - | |
1074 | | - | |
1075 | | - | |
| 1098 | + | |
| 1099 | + | |
| 1100 | + | |
| 1101 | + | |
| 1102 | + | |
1076 | 1103 | | |
1077 | 1104 | | |
1078 | 1105 | | |
| |||
1125 | 1152 | | |
1126 | 1153 | | |
1127 | 1154 | | |
1128 | | - | |
| 1155 | + | |
1129 | 1156 | | |
1130 | 1157 | | |
1131 | 1158 | | |
| |||
1156 | 1183 | | |
1157 | 1184 | | |
1158 | 1185 | | |
1159 | | - | |
| 1186 | + | |
1160 | 1187 | | |
1161 | 1188 | | |
1162 | 1189 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2242 | 2242 | | |
2243 | 2243 | | |
2244 | 2244 | | |
| 2245 | + | |
| 2246 | + | |
| 2247 | + | |
| 2248 | + | |
| 2249 | + | |
2245 | 2250 | | |
2246 | 2251 | | |
2247 | 2252 | | |
2248 | 2253 | | |
2249 | | - | |
| 2254 | + | |
2250 | 2255 | | |
2251 | 2256 | | |
2252 | 2257 | | |
| |||
2257 | 2262 | | |
2258 | 2263 | | |
2259 | 2264 | | |
| 2265 | + | |
2260 | 2266 | | |
2261 | 2267 | | |
2262 | 2268 | | |
| 2269 | + | |
| 2270 | + | |
| 2271 | + | |
| 2272 | + | |
| 2273 | + | |
| 2274 | + | |
| 2275 | + | |
| 2276 | + | |
| 2277 | + | |
| 2278 | + | |
| 2279 | + | |
| 2280 | + | |
| 2281 | + | |
| 2282 | + | |
| 2283 | + | |
| 2284 | + | |
| 2285 | + | |
| 2286 | + | |
| 2287 | + | |
| 2288 | + | |
| 2289 | + | |
| 2290 | + | |
| 2291 | + | |
| 2292 | + | |
| 2293 | + | |
2263 | 2294 | | |
2264 | 2295 | | |
2265 | 2296 | | |
| |||
0 commit comments