-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Memory leak in Shortcuts class #2631
Labels
Comments
Hi, I am a first time contributor. Is it ok if I take a look at this? |
Absolutely |
👀 |
@neSpecc As this PR is approved, do you know when it will be merged? |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Editor.js Version
v2.29.0
Issue description
Hi!
I've found a memory leak in the Shortcuts class. When you remove the shortcut for an element you don't check if the element's shortcuts are empty and left the element in the registeredShortcuts map (with an empty array):
editor.js/src/components/utils/shortcuts.ts
Line 89 in b619946
If you create a new EditorJS and destroys it, you will see a bunch of detached elements referenced by registeredShortcuts map.
Steps to reproduce:
You can reproduce the issue with this simple html:
Press "Remove" button and take a snapshot in Chrome dev tools. You will see detached HTMLDivElement's referenced by registeredShortcuts:
If you remove the element from the map when the shortcuts array is empty, the problem disappears:
The text was updated successfully, but these errors were encountered: