You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a Vue project that uses a mix of Vue-FontAwesome components as well as the legacy <i> HTML tags in cases where I cannot use a Vue component. Thus I need the functionality of DOM.watch(). There is a case when I have a large number (500) of v-for components and they are manipulated, mutation observer gets into a bad loop, the browser page footprint goes from 200MB to 2500MB in a few seconds and crashes the browser. Chrome/Firefox/Safari tested.
I was working around this by paging the items to a limit of 50 at a time, but the customer demands to have 500 items to be visible at once. I worked around 3 other scaling problems that Vue has, but this 4th one requires the DOM watch to be paused for a moment.
I've forked the repo and have been able to verify that if I check for !config.observeMutations inside MUTATION_OBSERVER, then everything works great!
I set my package to my fork: "@fortawesome/fontawesome-svg-core": "../Font-Awesome/js-packages/@fortawesome/fontawesome-svg-core",
In my project, I call config.observeMutations = false then config.observeMutations = true after the render settles.
I have a PR to reference this issue.
The text was updated successfully, but these errors were encountered:
I have a Vue project that uses a mix of Vue-FontAwesome components as well as the legacy
<i>
HTML tags in cases where I cannot use a Vue component. Thus I need the functionality of DOM.watch(). There is a case when I have a large number (500) of v-for components and they are manipulated, mutation observer gets into a bad loop, the browser page footprint goes from 200MB to 2500MB in a few seconds and crashes the browser. Chrome/Firefox/Safari tested.I was working around this by paging the items to a limit of 50 at a time, but the customer demands to have 500 items to be visible at once. I worked around 3 other scaling problems that Vue has, but this 4th one requires the DOM watch to be paused for a moment.
I've forked the repo and have been able to verify that if I check for
!config.observeMutations
inside MUTATION_OBSERVER, then everything works great!I set my package to my fork:
"@fortawesome/fontawesome-svg-core": "../Font-Awesome/js-packages/@fortawesome/fontawesome-svg-core",
In my project, I call
config.observeMutations = false
thenconfig.observeMutations = true
after the render settles.I have a PR to reference this issue.
The text was updated successfully, but these errors were encountered: