Description
Which @angular/* package(s) are the source of the bug?
zone.js
Is this a regression?
No
Description
The PromiseRejectionEvent is not triggered when zone.js is included on the webpage. The issue stems from zone.js's inability to construct a PromiseRejectionEvent because options parameter is undefined - { promise: undefined, reason: undefined }
Event is not fired and silently ignored here: https://github.com/angular/angular/blob/main/packages/zone.js/lib/common/promise.ts#L82
Fails to construct PromiseRejection error here: https://github.com/angular/angular/blob/main/packages/zone.js/lib/browser/browser.ts#L316
Here is a minimal example to reproduce the issue. Note that if you remove the zone.js script, the event fires as expected.
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Title</title>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/bundles/zone.umd.min.js"></script>
</head>
<body>
<script>
window.addEventListener('unhandledrejection', (event) =>
console.log('unhandledrejection', event, event.promise, event.reason),
)
const scriptEl = document.createElement('script')
scriptEl.innerHTML = "Promise.reject('Error happened :(')"
document.body.append(scriptEl)
</script>
</body>
</html>Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
No response
Please provide the environment you discovered this bug in (run ng version)
zone.js: latest
Anything else?
No response

Activity
axue3 commentedon Nov 12, 2025
Hey, I'd like to work on this!
fix(zone.js): allow draining microtasks in `Promise.then` (through flag)
fix(zone.js): allow draining microtasks in `Promise.then` (through flag)
fix(zone.js): allow draining microtasks in `Promise.then` (through flag)
fix(zone.js): allow draining microtasks in `Promise.then` (through flag)
angular-automatic-lock-bot commentedon May 16, 2026
This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.
Read more about our automatic conversation locking policy.
This action has been performed automatically by a bot.