Open shining-mind opened 5 days ago
Как воспроизвести в КБ:
document.getElementById('root-component').component.router.push('cb-transactions'); // или cb-checks
// Важно задать правильную задержку, таким образом повысится вероятность, что чанк начнёт загружаться до деактивации страницы
setTimeout(() => {
document.getElementById('root-component').component.router.push('cb-index');
}, 1000);
Выявили баг в b-virtual-scoll-new:
initLoadNext
(который загружается следующий чанк для выдачи)reload
(если задан проп reloadOnActivation)reload
у b-virtual-scroll-new вызывается методreset
, который очищает состояние компонента, и вызывает clearAll, который должен был уничтожить все потоки.initLoadNext
(важно данный поток не имеет постфикса:suspend
), который загружает данные последнего чанка с предыдущей выдачи, в стейт записывается, что все данные загружены.reload
, но в стейте уже стоит пометка, что все данные были загружены.Это приводит к тому, что выдача пустая. Скорей всего это связано с наличием ререндера в v4v4.
P.s. в мастере поток тоже не отменяется, однако данные есть, предположительно это старые данные с предыдущего рендера до деактивации.