rxjs icon indicating copy to clipboard operation
rxjs copied to clipboard

auditTime(0, animationFrameScheduler) stops emiting unexpectedly.

Open fdeslandes-wk opened this issue 3 years ago • 6 comments

Describe the bug

Since version 7.5.0, there is a weird interaction between different observables using animationFrameScheduler, especially auditTime(0, animationFrameScheduler), which stops emitting when other observables using the animationFrameScheduler started concludes after the first event is sent to the audit.

This causes problems with Angular CDK virtual scroll viewport which stops working when other things in the application use the animationFrameScheduler on observables which concludes.

It seems related to the same changes which caused https://github.com/ReactiveX/rxjs/issues/7017.

Expected behavior

Other observables should not have side effects on the animationFrameScheduler Action from auditTime(0, animationFrameScheduler) and auditTime should keep emitting regardless of the recycling of animationFrameScheduler actions.

Reproduction code

See the StackBlitz code, which reproduces the issue.  The issue cannot be reproduced using rxJs 7.4.x. It is there since 7.5.x.

Reproduction URL

https://rxjs-afsbug-s5ubbu.stackblitz.io

https://stackblitz.com/edit/rxjs-afsbug-s5ubbu?file=index.ts

Version

7.5.0 - 7.5.7

Environment

Reproduced in Chrome and Firefox. If you cannot reproduce, try throttling CPU in the Chrome DevTools.

Additional context

No response

fdeslandes-wk avatar Oct 21 '22 16:10 fdeslandes-wk

Same problem here

gabrielgagne avatar Jan 06 '23 15:01 gabrielgagne

We also have the same problem. In my case it leads to the Angular CDK virtual scroll viewport to not render the necessary elements which would be visible within the current viewport, as scroll events are not processed any longer.

endoffline avatar May 31 '23 13:05 endoffline

Yes, I noticed this bug too after seeing cdk virtual scroll (and our other component relying on animationFrameScheduler) being messed up after updating past 7.4

gabrielgagne avatar May 31 '23 13:05 gabrielgagne

I've expanded the example @fdeslandes-wk and included the cdk-virtual-scroll-viewport to highlight the problem more prominently.

Have a look here: https://stackblitz.com/edit/angular-zdbuly?file=src%2Fmain.ts

endoffline avatar Jun 09 '23 11:06 endoffline