intercellular / cell

A self-driving web app framework
https://www.celljs.org
MIT License
1.51k stars 94 forks source link

Clean Nucleus queue when removing an element #179

Open norchow opened 5 years ago

norchow commented 5 years ago

This was generating big memory leaks when creating and replacing several components permanently.

coveralls commented 5 years ago

Coverage Status

Coverage decreased (-1.0%) to 85.086% when pulling 5719eb5b17be155e35fdf555f1ee4703cdb8f011 on bitex-la:unqueue-removed-components into 6ed18a0a7d1ae2d81aaecd5e847d39cbeb5d8e28 on intercellular:develop.

norchow commented 5 years ago

I would need some help with the tests to cover this issue.

Our real use case was like this: We have 2 lists of ~100 items (rows of a list) each one, and they display near real-time data. So, when trying to re-render all these items over and over again, we discovered there was a memory leak in the Nucleus._queue, because it was not releasing outdated components.

Can anyone help me with the tests for this? I've tried integration, Nucleus and even Phenotype tests, but i cannot reproduce the case in which the components get overwritten either.

Thanks!