**This is a resubmit of #9046
Please check if the PR fulfills these requirements
What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
What is the current behavior? (You can also link to an open issue here)
Under certain conditions ngUpgrade will throw "digest already in progress" errors. Seems to be related to overlapping digest cycles between ngUpgrade and the Angular 1 application.
What is the new behavior?
By using $evalAsync, digest cycles will no longer overlap since Angular will check if a digest cycle is already in progress before triggering a new one. If a digest is already a progress the ngUpgrade update will just join the existing cycle.
Does this PR introduce a breaking change?
If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
fix(ngUpgrade): prevent digest already in progress
Sorry about the failing test in my previous PR. I am resubmitting with a fix.
Basically I switched from $applyAsync to $evalAsync. This passes the tests and still fixes the original issue.
I have the same issue and just tried this PR.
Interestingly, I have a fairly complex angular1+angular2 hybrid app and this one liner not only fixed the problem but also seems to have helped performance a lot!
I guess there were a lot of digests happening in very close succession triggered by this which are now better consolidated.
LGTM pls? :)
This will land in rc2? It's about to be released??? pleeeeease :)
fix(ngUpgrade): prevent digest already in progress (#9054)