Skip to content

ApplicationRef.isStable doesn't wait for all requests finished on SSR with angular 16. #49730

@leo6104

Description

@leo6104

Which @angular/* package(s) are the source of the bug?

platform-server

Is this a regression?

Yes

Description

This is regression issue for SSR rendering.

We trigger several api calls from 30+ components in SSR and it should wait until all response finished.
However, when the first api call got response from server, it immediately finish ssr render and CommonEngine Promise return partial rendered html.

It seems ApplicationRef.isStable doesn't wait for all api requests finished.

There is no changes in our projects and just update to angular 16. (we doesn't apply provideClientHydration() option.)

Please provide a link to a minimal reproduction of the bug

https://github.com/dasom0801/my-universal-app

Component 1 / Component 2 / COmponent 3 each component request api call and only fastest one rendered.

Please provide the exception or error you saw

the result got from CommonEngine doesn't return fully rendered html string. Only return partially rendered html.

Please provide the environment you discovered this bug in (run ng version)

Angular CLI: 16.0.0-next.6
Node: 16.19.0
Package Manager: npm 8.19.3
OS: darwin x64

Angular: 16.0.0-next.5
... animations, common, compiler, compiler-cli, core, elements
... forms, localize, platform-browser, platform-browser-dynamic
... platform-server, router, service-worker

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1600.0-next.6
@angular-devkit/build-angular   16.0.0-next.6
@angular-devkit/core            16.0.0-next.6
@angular-devkit/schematics      16.0.0-next.6
@angular/bazel                  15.2.4
@angular/cdk                    16.0.0-next.2
@angular/cli                    16.0.0-next.6
@angular/material               16.0.0-next.2
@angular/youtube-player         16.0.0-next.2
@nguniversal/builders           16.0.0-next.0
@nguniversal/common             16.0.0-next.0
@nguniversal/express-engine     16.0.0-next.0
@schematics/angular             16.0.0-next.6
ng-packagr                      16.0.0-next.2
rxjs                            7.8.0
typescript                      5.0.2

Anything else?

Previous angular 15 version we used is here .

Angular CLI: 15.2.0-next.4
Node: 16.19.0
Package Manager: npm 8.19.3
OS: darwin x64

Angular: 15.2.0-next.4
... animations, bazel, cli, common, compiler, compiler-cli, core
... elements, forms, localize, platform-browser
... platform-browser-dynamic, platform-server, router
... service-worker

Package                         Version
---------------------------------------------------------
@angular-devkit/architect       0.1502.0-next.4
@angular-devkit/build-angular   15.2.0-next.4
@angular-devkit/core            15.2.0-next.4
@angular-devkit/schematics      15.2.0-next.4
@angular/cdk                    15.2.0-next.0
@angular/material               15.2.0-next.0
@angular/youtube-player         15.2.0-next.0
@nguniversal/common             15.0.0
@schematics/angular             15.2.0-next.4
ng-packagr                      15.1.1
rxjs                            7.6.0
typescript                      4.8.4

Metadata

Metadata

Assignees

Labels

P2The issue is important to a large percentage of users, with a workaroundarea: serverIssues related to server-side renderingregressionIndicates than the issue relates to something that worked in a previous version

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions