Skip to content

Commit 5d2074a

Browse files
committed
fix(@angular/ssr): unblock route extraction with withEnabledBlockingInitialNavigation
This fix ensures that route extraction is not blocked when `withEnabledBlockingInitialNavigation` is used. Closes #29400
1 parent 0186e80 commit 5d2074a

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

packages/angular/ssr/src/routes/ng-routes.ts

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -522,11 +522,19 @@ export async function getRoutesFromAngularRouterConfig(
522522
applicationRef = await bootstrap();
523523
}
524524

525+
const injector = applicationRef.injector;
526+
const router = injector.get(Router);
527+
528+
// Workaround to unblock navigation when `withEnabledBlockingInitialNavigation()` is used.
529+
// This is necessary because route extraction disables component bootstrapping.
530+
setTimeout(() => {
531+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
532+
(router as any).navigationTransitions.afterPreactivation()?.next?.();
533+
}, 0);
534+
525535
// Wait until the application is stable.
526536
await applicationRef.whenStable();
527537

528-
const injector = applicationRef.injector;
529-
const router = injector.get(Router);
530538
const routesResults: RouteTreeNodeMetadata[] = [];
531539
const errors: string[] = [];
532540

0 commit comments

Comments
 (0)