You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The SSR part is flaky ATM. A couple of resulted problems where:
PR's that broke SSR where released (router configuration, zone-less config, standalone component)
SSR and file hosting is tricky to automate for Preview branches (because of the Firebase hosting constrains)
Platform problems due to access rights, versions, wrong payment configuration on Firebase project
Inconsistency of Prerender runtime vs SSR runtime resulting in broken prerender pages
This impacts the score significantly also in the CrUX report.
Solution
Due to this reasons I suggest a list of possible improve up for evaluation:
Tooling
Nx setup
separated projects
refactored tooling
using only --affected lint,test,build in the CI
using only --affected deploy in the CI
user-flows over the nx-plugin
firebase
better serve and build
separated universal and firebase cloud function
Code structure
File and folder structure is off from the rest of the src files (functions folder, server.ts outside of projects, main.ts and main.server.ts are very different in content, etc.) a better file organization is needed
Move specific SSR decisions into tokens if it makes sense for them to be part of DI and not component/service.
All SSR decisions that are related to files (e.g. zone.js) should be done with target configurations and the ng build process (ng build-ssr movies --configuration ssr)
firebase functionsand hosting should life in the functions folder
Documentation
Better docs on how to develop, build etc
Development should be served with npm run start:ssr:dev locally to validate changes to Browser and Server versions
Documentation of the included pieces of the SSR + SSG
Testing
Setup integration tests for the build process. Statically check the output HTML from the build process.
Detailed Server Timing => POSTPONED
Setup e2e tests that run against the app
Ensure the tests passes without JS executed
Preview branch of the firebase cloud function
Preview branch of the cloudflare edge worker
live hosting of the firebase cloud function
live hosting of the cloudflare edge worker => POSTPONED
Setup e2e tests that checks the "src switch bug" from ngSrc
Improvements
Render less pages of the infinite scroll content if possible
Problem
The SSR part is flaky ATM. A couple of resulted problems where:
This impacts the score significantly also in the CrUX report.
Solution
Due to this reasons I suggest a list of possible improve up for evaluation:
Tooling
using only --affected deploy in the CICode structure
functions
folder,server.ts
outside of projects,main.ts
andmain.server.ts
are very different in content, etc.) a better file organization is neededzone.js
) should be done with target configurations and the ng build process (ng build-ssr movies --configuration ssr
)functions
andhosting
should life in the functions folderDocumentation
npm run start:ssr:dev
locally to validate changes to Browser and Server versionsTesting
HTML
from the build process.Detailed Server Timing=> POSTPONEDlive hosting of the cloudflare edge worker=> POSTPONEDngSrc
Improvements
options so far:
to reduce TBT
fix chunking of initial rendering related to RxA render strategies.refactor: update universal to 16 #157[x] this is visible flicker on SSR to client hydrationNext suggested steps
The text was updated successfully, but these errors were encountered: