Conversation
`AsyncPipe` would previously promise rejections unhandled and subscription errors uncaught. This is more or less fine in a Zone-based application because errors inside the Angular Zone are caught be the Zone's error trap and reported to `ErrorHandler`. However, in zoneless applications, these errors are never caught or reported by the FW and can reach the node process in SSR and cause it to shut down. BREAKING CHANGE: `AsyncPipe` now directly catches unhandled errors in subscriptions and promises and reports them to the application's `ErrorHandler`. For Zone-based applications, these errors would have been caught by ZoneJS and reported to `ErrorHandler` so the result is generally the same. The change to the exact mechanism for reporting can result in differences in test environments that will require test updates.
AndrewKushnir
left a comment
There was a problem hiding this comment.
The change looks good (I've looked at it earlier as well) 👍
It'd be helpful if @alxhub takes a look as well when he has a chance.
|
removing the |
|
actually I see TGP passed for the same snapshot, I think this just got caught up in yesterday's TAP breakage. Adding back the label, I believe this is safe to merge |
|
This PR was merged into the repository by commit 739cada. The changes were merged into the following branches: main |
|
This issue has been automatically locked due to inactivity. Read more about our automatic conversation locking policy. This action has been performed automatically by a bot. |


AsyncPipewould previously promise rejections unhandled and subscription errors uncaught. This is more or less fine in a Zone-based application because errors inside the Angular Zone are caught be the Zone's error trap and reported toErrorHandler. However, in zoneless applications, these errors are never caught or reported by the FW and can reach the node process in SSR and cause it to shut down.BREAKING CHANGE:
AsyncPipenow directly catches unhandled errors in subscriptions and promises and reports them to the application'sErrorHandler. For Zone-based applications, these errors would have been caught by ZoneJS and reported toErrorHandlerso the result is generally the same. The change to the exact mechanism for reporting can result in differences in test environments that will require test updates.