Lag when Website has many inputs

Our editors have reported big lags when using the extension with our content management system.

Upon investigation we found that the number of listeners (JS) continuously goes up when the extension is active and the CMS is used. This does not occur when the extension is disabled.

The lag becomes so bad that the CMS is not usable anymore in the end.

The CMS uses a block editor for editing the content, so this results in lots of small input elements, for example in case of lists, so it might be different than having one textarea for a whole article.

The normal amount of listeners is around ~1000 for the CMS.

Here is a screenshot of a 15 sec time interval while just writing some text in the different inputs:

Lot of the time is spent in animation frame fired, almost all of which caused by ā€˜content.jsā€™ from the extension, more precisely this place:

I hope a developer of the app can look into this. If you need more information please let me know.

Best regards
fmo

Thanks for the detailed bug report. What CMS and editor is this? When you say ā€œmany inputsā€, how many are we talking about?

Hello Daniel,

the CMS is a self hosted instance of https://livingdocs.io/, and as far as I know the editor is a proprietory editor developed by the livingdocs team.

In the document where it became especially laggy, there are around 1350 input/editable elements. The document contains quite a few lists, and each of the list items is another editable element. The CMS works with contenteditable=true for the input, so most of these are divs or spans.

I hope that helps.

Iā€™ll open an issue in our internal bug tracker, but >1000 input fields sounds like a lot. Not sure if we can optimize enough to make this case fast.

1 Like

Are you aware of a way to reproduce this? I couldnā€™t find a public demo instance of livingdocs.

Hi Daniel,

sorry for the late response. Outside of livingdocs, I donā€™t know how to reproduce this bug.

If it would help, I can show you in a screen share.

Let me know =)