fix: add cleanup for scroll event listeners to prevent memory leak#7342
Open
Sanchit2662 wants to merge 2 commits intolayer5io:masterfrom
Open
fix: add cleanup for scroll event listeners to prevent memory leak#7342Sanchit2662 wants to merge 2 commits intolayer5io:masterfrom
Sanchit2662 wants to merge 2 commits intolayer5io:masterfrom
Conversation
Signed-off-by: Sanchit2662 <sanchit2662@gmail.com>
Author
|
Hi @kishore08-07 @leecalcote @Rajesh-Nagarajan-11, |
Contributor
|
@Sanchit2662 Thank you for your contribution! Let's discuss this during the website call tomorrow at 6:30 PM IST | 7 AM CST Add it as an agenda item to the meeting minutes, if you would 🙂 |
Contributor
|
🚀 Preview for commit a15eb93 at: https://696e6be45027bd6c2ae1cdb0--layer5.netlify.app |
|
@Sanchit2662 Thank you for your contribution! Let's discuss this during the website call today at 6:30 PM IST | 7 AM CST Add it as an agenda item to the meeting minutes, if you would 🙂 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR fixes a memory leak caused by uncleaned scroll event listeners in the Layer5 website.
Both the Navigation and Brand sections were registering
scrolllisteners on mount without removing them on unmount. Since these components are re-mounted on every client-side navigation in Gatsby, this resulted in accumulating event listeners, leading to degraded performance over time.The fix ensures that scroll listeners are properly cleaned up, use a stable function reference, and are marked as passive for better scroll performance.
Problem Description
Before this change, the components attached a scroll listener like this:
What goes wrong:
useEffectwindowThis causes unbounded memory growth and increasing CPU usage during normal browsing sessions.
Impact
Before
After
This improves performance for all users, especially those browsing docs or community pages extensively.
Checklist