Всем привет, есть вопрос по change detection. Есть detectChanges, который запускает CD для компонента и его child-ов. Тут всё ясно. Есть markForCheck, который сетит ChecksEnabled флаг для компонента и его предков в true. Он не триггерит CD, а только говорит, что при след. цикле нужно проверить эти компоненты. async pipe под капотом просто делает markForCheck. Так вот, вопрос в том, откуда берётся следующий цикл CD, если по дефолту стоит onPush. Прикрепляю пример, в котором OnPush и обычный таймер (через async pipe). Понятно, что при каждом эмите стрима асинк пайп делает markForCheck, но я не понимаю когда происходит след. цикл CD, потому что инпуты не изменяются, event handler'ов тоже нету.
https://stackblitz.com/edit/angular-fp2ef4