Comments (3)
@garrettld That's exactly correct. Coalescing isn't compatible at the moment as a result.
Similar to #44314, there are situations where the current implementation of event coalescing falls over (because it's solely reliant on requestAnimationFrame
). In our zoneless scheduler, we take the approach of racing setTimeout
and rAF
:
from angular.
It appears these 2 features together create a sort of deadlock, where CD is waiting on the next animation frame (via requestAnimationFrame), and the view transition (which blocks the next animation frame) is waiting on CD to occur (via afterNextRender). Eventually the view transition times out, the requestAnimationFrame callback runs, and the deadlock is resolved.
I also noticed that this behavior isn't triggered by just any event. I think it's determined by whether there are events that are emitted asynchronously, and their timing relative to the router's work. As an example, the StackBlitz linked below shows an input element that reproduces the bug with NgModel but doesn't reproduce it when you leave off the NgModel. I think this is because NgModel triggers additional CD passes asynchronously that aren't being triggered by the version without NgModel. This isn't an NgModel bug, it's just that NgModel happens to do some stuff asynchronously.
https://stackblitz.com/edit/stackblitz-starters-zz3qp5?file=src%2Froutes.ts
Here's a non-Angular repro that approximates what's happening under the hood: https://stackblitz.com/edit/rxjs-fzehee?devtoolsheight=60&file=index.ts
from angular.
This issue has been automatically locked due to inactivity.
Please file a new issue if you are encountering a similar or related problem.
Read more about our automatic conversation locking policy.
This action has been performed automatically by a bot.
from angular.
Related Issues (20)
- I smell a rat, stop ruining angular HOT 4
- Hydration doesn't work for ng-templates that are defined inside of another component
- The system cannot find the file specified. HOT 1
- easier access to untracked function for more readability HOT 1
- Angular.dev: Missing Overview Page for Components HOT 2
- ViewRef broken "Change detection usage" link doesn't work
- Async Pipe for map of Observables HOT 2
- Clarification for member sequence
- Allow search by query param | angular.dev
- Confusing error when preserveSymlinks is missing. HOT 1
- Allow style URL to use absolute paths HOT 1
- Hello world tutorial is broken in several ways HOT 2
- devtools signal lookup incorrectly displays signal with empty string HOT 1
- devtools injector tree tab "hide injectors with no providers" filtering incorrectly HOT 1
- Custom Validator Directive won't fire when signal changes HOT 2
- ReactiveForm nested 3 layer will cause input to freeze / jumpout ( Reproduce StackBlitz included ) HOT 2
- Code snippets: issue with string highlight HOT 1
- core.mjs:6531 ERROR TypeError: Cannot read properties of undefined (reading 'ɵcmp') HOT 17
- Angular 17.3 input signal not working with customComponents HOT 1
- Error after translate angular.dev for portuguese.
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from angular.