-
Notifications
You must be signed in to change notification settings - Fork 27.1k
No Safari support for Promise.withResolvers until v17.3 make @defer and incremental hydration unusable across all browsers #63855
Copy link
Copy link
Closed
Labels
area: coreIssues related to the framework runtimeIssues related to the framework runtime
Milestone
Description
Which @angular/* package(s) are the source of the bug?
core
Is this a regression?
No
Description
I haven't seen this reported anywhere but we just did a big release where we were using some @defer blocks, only to find out that they don't work on Safari until v17.3, meaning we had to remove them all again.
We're using Zoneless in our application and all the new fresh stuff released over the last major versions (we're on v20.2 currently), and this was very disappointing to find out.
It will be years until most users are above that version, leaving incremental hydration completely unusable to us and other devs who needs to have reasonable browser support for their applications.
Is there any way @defer can be reworked to not use Promise.withResolvers, or am I missing some sort of polyfill?
Please provide a link to a minimal reproduction of the bug
No response
Please provide the exception or error you saw
TypeError: Promise.withResolvers is not a function. (In 'Promise.withResolvers()', 'Promise.withResolvers' is undefined)
Please provide the environment you discovered this bug in (run ng version)
Angular CLI: 20.0.6
Node: 22.12.0
Package Manager: npm 10.9.0
OS: darwin x64
Angular: 20.2.0
... build, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, platform-server, router, ssr
Package Version
---------------------------------------------------------
@angular-devkit/architect 0.2002.0
@angular-devkit/build-angular 20.2.0
@angular-devkit/core 20.2.0
@angular-devkit/schematics 20.2.0
@angular/cli 20.0.6
@schematics/angular 20.2.0
rxjs 7.8.2
typescript 5.8.3
Anything else?
No response
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area: coreIssues related to the framework runtimeIssues related to the framework runtime