-
Notifications
You must be signed in to change notification settings - Fork 26.7k
Description
Which @angular/* package(s) are the source of the bug?
router
Is this a regression?
Yes
Description
On iOS devices (tested iOS 15 → iOS 18, Safari and Chrome), Angular Router navigation is unreliable:
Sometimes when tapping a link (routerLink or router.navigateByUrl), the URL in the address bar updates.
However, the component is not rendered — the view stays on the previous page.
I have to tap multiple times before the navigation works.
On Android and desktop browsers, the issue does not occur.
This happens both in local dev (ng serve) and in production builds.
"@angular/animations": "20.0.6",
"@angular/common": "20.0.6",
"@angular/compiler": "20.0.6",
"@angular/core": "20.0.6",
"@angular/forms": "20.0.6",
"@angular/platform-browser": "20.0.6",
"@angular/platform-server": "20.0.6",
"@angular/router": "20.0.6",
"@angular/ssr": "20.0.6",
Please provide a link to a minimal reproduction of the bug
Angular version: 20.x Reproduction: Create a new Angular project with Router. Add two simple routes (/page1, /page2) with routerLink between them. Open on a real iOS device in Safari or Chrome. Navigate back and forth multiple times. Occasionally, the URL changes but Angular does not render the new route.
Please provide the exception or error you saw
Angular should always render the correct component when the URL changes, regardless of iOS Safari/Chrome.
Please provide the environment you discovered this bug in (run ng version
)
Angular: 20.x
@angular/router: 20.0.6
Zone-less change detection: yes (provideZonelessChangeDetection())
Hydration: tested with and without provideClientHydration() → same result
InMemoryScrolling: tested with and without withInMemoryScrolling() → same result
Tested on:
iOS 15, 16, 17, 18 (real devices) Safari + Chrome → ❌ bug
Android Chrome → ✅ works
Desktop Chrome/Edge → ✅ works
Anything else?
No response