learningequality / learningequality/studio
Investigate increasing number of DOM nodes that are never garbage collected when navigating channels' content
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 191
- Forks
- 307
- Avg merge
- 5d 6h
- Merged PRs (30d)
- 10
Description
When navigating channels' topics, the number of nodes is always increasing and doesn't seem to be garbage collected for some reason. This looks suspicious since we'd rather expect it to decrease at some point, for example, when a user arrives at a topic that has fewer resources than some of the topics visited earlier and therefore there are fewer elements rendered in the user interface. That never happens, though. This trend can be seen on all performance measurements done in the research phase of https://github.com/learningequality/studio/issues/3363 and could be contributing to memory leaks. The goal of this issue is to find out why is this happening.
Steps to reproduce
Record performance profile while navigating through topics of a channel and notice the rising green line showing a number of nodes in the detailed chart at the bottom.

Acceptance criteria
- Find out why nodes are never garbage collected
- Report results and open issues for resolving discovered problems (new issues don't need to be necessarily resolved in the scope of #3363)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by recording a performance profile while navigating through topics of a channel, as described in the reproduction steps, and inspect the rising node count in the detailed chart. Compare the results with the research in issue #3363; done means identifying why nodes are not garbage collected, reporting the findings, and opening follow-up issues for discovered problems.
Written by the indexing model from the issue text.
Assessment
- Domain
- frontend, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100