Long documents slow Chrome/Chromium to a halt
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 659
- Forks
- 133
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 110
Description
While longer markdown documents are not super fast in any browser, there seems to be an overlap of performance-eating bugs or circumstances when opening long (>1000 lines) markdown files.
To Reproduce
Steps to reproduce the behavior:
- Create a files with a variety of headlines, plain-text, and lists with sub-lists that is at least 10000 lines long. It doesn't have to be particular complicated, but long.
- Open it in Chromium.
- Wait a long time for it to render at all.
- Wait a few seconds every time you try to scroll or edit the document.
Expected behavior
A maybe slow, but not unusable document.
Server details:
- Nextcloud version: 29.0.0.19 and 29.0.1 RC1
- PHP Version: 8.2
- Database: PostgreSQL 15.6
- Text app version: 3.10.0
Client details:
- OS: various Linuxes (Ubuntu, Arch, Debian)
- Browser: Chromium
- Browser version: 125, 126, and others
- Device: various laptops
Logs
Nextcloud log (data/nextcloud.log)
No related server-side logs. This issue appears to be entirely client-side.
Browser log
Console and Network tab are pretty quiet, but the Performance tab shows a lot of activity. We can provide the corresponding json file if this issue can't be reproduced by anyone else.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reproducing the issue with a 10,000-line Markdown document containing headings, text, and nested lists in Chromium, then inspect the browser Performance tab. The issue names no source file or test; done means the document opens, scrolls, and remains editable without becoming unusably slow.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100