Skip to content

Commit 9e043de

Browse files
arturovtkirjs
authored andcommitted
fix(router): handle errors from view transition updateCallbackDone promise
Firefox-specific workaround: Firefox 144+ creates the `updateCallbackDone` promise internally during error handling (e.g., duplicate view-transition-name), even before the property is accessed. This can cause unhandled promise rejections to appear in error tracking tools like Rollbar/Sentry. We must attach catch handlers to all three promises immediately to prevent these unhandled rejections. See: https://bugzilla.mozilla.org/show_bug.cgi?id=1999336 (if applicable) Spec: https://drafts.csswg.org/css-view-transitions-1/#dom-viewtransition-updatecallbackdone
1 parent 4dc5ae5 commit 9e043de

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

packages/router/src/utils/view_transition.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -94,6 +94,11 @@ export function createViewTransition(
9494
// complete (below), which includes the update phase of the routed components.
9595
return createRenderPromise(injector);
9696
});
97+
transition.updateCallbackDone.catch((error) => {
98+
if (typeof ngDevMode === 'undefined' || ngDevMode) {
99+
console.error(error);
100+
}
101+
});
97102
transition.ready.catch((error) => {
98103
if (typeof ngDevMode === 'undefined' || ngDevMode) {
99104
console.error(error);

0 commit comments

Comments
 (0)