Description
This is similar to Significant Lag on Large Threads, opening threads with many replies as well as opening messages within those threads lags for a considerable amount of time. I profiled this and it looks like this is due to the unsubscribe link parsing added in Feature/unsubscribe header by Phylu · Pull Request #2275 · Foundry376/Mailspring · GitHub. There is a note on that PR about the performance of cheerio being a potential issue, and it seems that is what’s causing the problem for me. The _getLinks
function is very slow, with most of its time spent in calls to cheerio.
To Reproduce…
Steps to reproduce the behavior:
- Open thread with many replies, containing many links
- Application freezes for a short while
Expected Behavior
Thread opens smoothly
Screenshots
Setup
Reproducible as of commit 44853d81e70aac13de7de4d35708c4efebfded35
- OS and Version: macOS 11.4
- Installation Method: source
- Mailspring Version: 1.9.1