question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Poor typing performance with spell checking enabled

See original GitHub issue

Users reported poor performance while typing. This problem was observed in both small and large documents, especially when there are multiple users editing the same document (also observed with a single user).

In fact, the performance is severely degraded, without visual response (0 FPS) while typing, with the text being rendered after dozen seconds after stopping typing. Initially, it was observed only in Google Chrome version 96 or later. Tests were performed on Mackbook Pro (16-inch 2019, 16GB RAM, SSD, 2.6 GHz 6-Core Intel Core i7) and also on Linux and Windows. Besides that, curiously the problem was even worse after switching tabs in the browser.

After a deep investigation in our code (core + plugins) in order to find the root cause, we figured out the problem stops when the browser’s spellcheck is disabled. By enabling the spellcheck in Firefox, it also showed the same performance issue.

We also noticed that, in our stack, the ep_spellcheck plugin is responsible for enabling the spellcheck in the Etherpad’s #innerdoc iframe. By disabling this plugin, the performance gets back to normal.

To Reproduce

The minimum setup to reproduce this problem is to use Etherpad with ep_spellcheck plugin only.

Steps to reproduce the behavior:

  1. Creates a pad
  2. Access the created pad with two users and start typing (also possible with a single user)
  3. If necessary, switch to another browser tab and go back to the pad
  4. See very slow typing speed

Expected behavior Typing speed should be fluid.

Server (please complete the following information):

  • Etherpad version: 1.8.15
  • OS: Ubuntu 20.04
  • Node.js version: v12.22.6
  • npm version: 6.14.15
  • Is the server free of plugins: No, it has only ep_spellcheck.

Desktop (please complete the following information):

  • OS: [macOS Monterey 12.0.1, Ubuntu 20.04]
  • Browser: [Chrome 96.0.4664.55, Firefox 94.0.2]

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Comments:5 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
ingoncalvescommented, Nov 25, 2021

@ingoncalves We have frontend automated testing for this https://github.com/ether/etherpad-lite/blob/develop/src/tests/frontend/specs/responsiveness.js

Can you see if you can pass/fail that test in your setup? https://yourEtherpad/tests/frontend/?grep=responsiveness.js

This test pass, without errors. However, when I manually create a new pad, paste a large content and start typing on the last line, I can reproduce the problem.

Oh I just realized this is a plugin bug as the issue goes away once the ep_spellcheck plugin is disabled. Understandable. So you’d probably want to create the bug report on that plugins repo no?

Oh, that’s true. I’ll do it! EDIT: Here it is https://github.com/ether/ep_spellcheck/issues/26

From reading your bug report it looks like the issue is present even using native browser spell checking though? Afaik Etherpad should be disabling spellcheck functionality for all browsers by default and only having the plugin installed would change this behaviour.

That’s correct! I also believe that this problem might not be in the plugin itself. It may be due to some browser update, as we have been using this plugin for a long time and such a performance problem has never been noticed. Also, this plugin doesn’t undergo significant changes very often. However, we still need to analyze the code well to answer these questions.

0reactions
stale[bot]commented, Apr 3, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Performance degradation when using Spell Checker #3350
Several customers complained about performance degredation and micro-freezes when typing into a WPF-RichTextBox. Beside custom logic that's ...
Read more >
How to Fix It When Spell Check Is Not Working in Word - Lifewire
In the Proofing Tools section, select Recheck Document. On a Mac, go to Tools > Spelling & Grammar and select Reset Ignored Words...
Read more >
HTML5 Forms: SpellCheck Type Attribute - Wufoo
The Low Down. The global spellcheck attribute tells a browser whether or not to check the spelling/grammar of the text in an editable...
Read more >
8 Reasons Why You Shouldn't Just Rely On SpellCheck
SpellCheck is a great program, but there are plenty of errors that it'll allow through. Look out for these 8 key issues to...
Read more >
166827 - After copy-paste, disabled spellchecker becomes ...
1. Make sure that the "Enable spell checking" is disselected from chrome://settings/languages · 2. Type words in input/comment box of any a webpage....
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found