-
-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Large amount of membership change events causes lag/cpu spike #17650
Comments
@alvinhochun I have been landing fixes for this exact issue on the develop branch, so I highly encourage you to try them out at https://develop.element.io and see whether they have resolved the issue from your end. If you still experience significant lag, please use the performance tab of your browser's devtools to take a recording of such a CPU spike happening, then export the recording and upload it here, so that we can investigate the cause. |
Hi @robintown, thanks for letting me know about that fix and sorry for not searching for it beforehand. However, I just tried it on develop.element.io and it does still lag significantly and couldn't load the past log (I stopped it by switching to another room after about 30 seconds of wait). I've made a profile of that in Firefox: |
@alvinhochun Thanks for the recording! The issue turned out to be something pretty specific, and I've submitted a fix which you can try out here: https://deploy-preview-6205--matrix-react-sdk.netlify.app/ |
@robintown Thanks for the quick update! I've tested it and it has greatly improved the performance when loading the past log of that room. Now it does not hog the CPU and doesn't slow down Firefox like before. Though I should note that it still took about 20 seconds to get past that part (on the first try, when I profiled it on the second try it seems to have took only 10 seconds). It seems to mostly be idling or waiting for network requests, so probably nothing of interest, but I'll also upload the profile here: |
* Sanitize untrusted variables from message previews before translation Fixes element-hq/element-web#18314 * Fix editing of `<sub>` & `<sup`> & `<u>` [\matrix-org#6469](matrix-org#6469) Fixes element-hq/element-web#18211 * Zoom images in lightbox to where the cursor points [\matrix-org#6418](matrix-org#6418) Fixes element-hq/element-web#17870 * Avoid hitting the settings store from TextForEvent [\matrix-org#6205](matrix-org#6205) Fixes element-hq/element-web#17650 * Initial MSC3083 + MSC3244 support [\matrix-org#6212](matrix-org#6212) Fixes element-hq/element-web#17686 and element-hq/element-web#17661 * Navigate to the first room with notifications when clicked on space notification dot [\matrix-org#5974](matrix-org#5974) * Add matrix: to the list of permitted URL schemes [\matrix-org#6388](matrix-org#6388) * Add "Copy Link" to room context menu [\matrix-org#6374](matrix-org#6374) * 💭 Message bubble layout [\matrix-org#6291](matrix-org#6291) Fixes element-hq/element-web#4635, element-hq/element-web#17773 element-hq/element-web#16220 and element-hq/element-web#7687 * Play only one audio file at a time [\matrix-org#6417](matrix-org#6417) Fixes element-hq/element-web#17439 * Move download button for media to the action bar [\matrix-org#6386](matrix-org#6386) Fixes element-hq/element-web#17943 * Improved display of one-to-one call history with summary boxes for each call [\matrix-org#6121](matrix-org#6121) Fixes element-hq/element-web#16409 * Notification settings UI refresh [\matrix-org#6352](matrix-org#6352) Fixes element-hq/element-web#17782 * Fix EventIndex double handling events and erroring [\matrix-org#6385](matrix-org#6385) Fixes element-hq/element-web#18008 * Improve reply rendering [\matrix-org#3553](matrix-org#3553) Fixes element-hq/element-web#9217, element-hq/element-web#7633, element-hq/element-web#7530, element-hq/element-web#7169, element-hq/element-web#7151, element-hq/element-web#6692 element-hq/element-web#6579 and element-hq/element-web#17440 * Fix CreateRoomDialog exploding when making public room outside of a space [\matrix-org#6493](matrix-org#6493) * Fix regression where registration would soft-crash on captcha [\matrix-org#6505](matrix-org#6505) Fixes element-hq/element-web#18284 * only send join rule event if we have a join rule to put in it [\matrix-org#6517](matrix-org#6517) * Improve the new download button's discoverability and interactions. [\matrix-org#6510](matrix-org#6510) * Fix voice recording UI looking broken while microphone permissions are being requested. [\matrix-org#6479](matrix-org#6479) Fixes element-hq/element-web#18223 * Match colors of room and user avatars in DMs [\matrix-org#6393](matrix-org#6393) Fixes element-hq/element-web#2449 * Fix onPaste handler to work with copying files from Finder [\matrix-org#5389](matrix-org#5389) Fixes element-hq/element-web#15536 and element-hq/element-web#16255 * Fix infinite pagination loop when offline [\matrix-org#6478](matrix-org#6478) Fixes element-hq/element-web#18242 * Fix blurhash rounded corners missing regression [\matrix-org#6467](matrix-org#6467) Fixes element-hq/element-web#18110 * Fix position of the space hierarchy spinner [\matrix-org#6462](matrix-org#6462) Fixes element-hq/element-web#18182 * Fix display of image messages that lack thumbnails [\matrix-org#6456](matrix-org#6456) Fixes element-hq/element-web#18175 * Fix crash with large audio files. [\matrix-org#6436](matrix-org#6436) Fixes element-hq/element-web#18149 * Make diff colors in codeblocks more pleasant [\matrix-org#6355](matrix-org#6355) Fixes element-hq/element-web#17939 * Show the correct audio file duration while loading the file. [\matrix-org#6435](matrix-org#6435) Fixes element-hq/element-web#18160 * Fix various timeline settings not applying immediately. [\matrix-org#6261](matrix-org#6261) Fixes element-hq/element-web#17748 * Fix issues with room list duplication [\matrix-org#6391](matrix-org#6391) Fixes element-hq/element-web#14508 * Fix grecaptcha throwing useless error sometimes [\matrix-org#6401](matrix-org#6401) Fixes element-hq/element-web#15142 * Update Emojibase and Twemoji and switch to IamCal (Slack-style) shortcodes [\matrix-org#6347](matrix-org#6347) Fixes element-hq/element-web#13857 and element-hq/element-web#13334 * Respect compound emojis in default avatar initial generation [\matrix-org#6397](matrix-org#6397) Fixes element-hq/element-web#18040 * Fix bug where the 'other homeserver' field in the server selection dialog would become briefly focus and then unfocus when clicked. [\matrix-org#6394](matrix-org#6394) Fixes element-hq/element-web#18031 * Standardise spelling and casing of homeserver, identity server, and integration manager [\matrix-org#6365](matrix-org#6365) * Fix widgets not receiving decrypted events when they have permission. [\matrix-org#6371](matrix-org#6371) Fixes element-hq/element-web#17615 * Prevent client hangs when calculating blurhashes [\matrix-org#6366](matrix-org#6366) Fixes element-hq/element-web#17945 * Exclude state events from widgets reading room events [\matrix-org#6378](matrix-org#6378) * Cache feature_spaces\* flags to improve performance [\matrix-org#6381](matrix-org#6381)
* Sanitize untrusted variables from message previews before translation Fixes element-hq#18314 * Fix editing of `<sub>` & `<sup`> & `<u>` [\element-hq#6469](matrix-org/matrix-react-sdk#6469) Fixes element-hq#18211 * Zoom images in lightbox to where the cursor points [\element-hq#6418](matrix-org/matrix-react-sdk#6418) Fixes element-hq#17870 * Avoid hitting the settings store from TextForEvent [\element-hq#6205](matrix-org/matrix-react-sdk#6205) Fixes element-hq#17650 * Initial MSC3083 + MSC3244 support [\element-hq#6212](matrix-org/matrix-react-sdk#6212) Fixes element-hq#17686 and element-hq#17661 * Navigate to the first room with notifications when clicked on space notification dot [\element-hq#5974](matrix-org/matrix-react-sdk#5974) * Add matrix: to the list of permitted URL schemes [\element-hq#6388](matrix-org/matrix-react-sdk#6388) * Add "Copy Link" to room context menu [\element-hq#6374](matrix-org/matrix-react-sdk#6374) * 💭 Message bubble layout [\element-hq#6291](matrix-org/matrix-react-sdk#6291) Fixes element-hq#4635, element-hq#17773 element-hq#16220 and element-hq#7687 * Play only one audio file at a time [\#6417](matrix-org/matrix-react-sdk#6417) Fixes element-hq#17439 * Move download button for media to the action bar [\element-hq#6386](matrix-org/matrix-react-sdk#6386) Fixes element-hq#17943 * Improved display of one-to-one call history with summary boxes for each call [\element-hq#6121](matrix-org/matrix-react-sdk#6121) Fixes element-hq#16409 * Notification settings UI refresh [\element-hq#6352](matrix-org/matrix-react-sdk#6352) Fixes element-hq#17782 * Fix EventIndex double handling events and erroring [\element-hq#6385](matrix-org/matrix-react-sdk#6385) Fixes element-hq#18008 * Improve reply rendering [\element-hq#3553](matrix-org/matrix-react-sdk#3553) Fixes element-hq#9217, element-hq#7633, element-hq#7530, element-hq#7169, element-hq#7151, element-hq#6692 element-hq#6579 and element-hq#17440 * Improve performance of room name calculation [\element-hq#1801](matrix-org/matrix-js-sdk#1801) * Fix browser history getting stuck looping back to the same room [\element-hq#18053](element-hq#18053) * Fix space shortcuts on layouts with non-English keys in the places of numbers [\element-hq#17780](element-hq#17780) Fixes element-hq#17776 * Fix CreateRoomDialog exploding when making public room outside of a space [\element-hq#6493](matrix-org/matrix-react-sdk#6493) * Fix regression where registration would soft-crash on captcha [\element-hq#6505](matrix-org/matrix-react-sdk#6505) Fixes element-hq#18284 * only send join rule event if we have a join rule to put in it [\element-hq#6517](matrix-org/matrix-react-sdk#6517) * Improve the new download button's discoverability and interactions. [\element-hq#6510](matrix-org/matrix-react-sdk#6510) * Fix voice recording UI looking broken while microphone permissions are being requested. [\element-hq#6479](matrix-org/matrix-react-sdk#6479) Fixes element-hq#18223 * Match colors of room and user avatars in DMs [\element-hq#6393](matrix-org/matrix-react-sdk#6393) Fixes element-hq#2449 * Fix onPaste handler to work with copying files from Finder [\element-hq#5389](matrix-org/matrix-react-sdk#5389) Fixes element-hq#15536 and element-hq#16255 * Fix infinite pagination loop when offline [\element-hq#6478](matrix-org/matrix-react-sdk#6478) Fixes element-hq#18242 * Fix blurhash rounded corners missing regression [\element-hq#6467](matrix-org/matrix-react-sdk#6467) Fixes element-hq#18110 * Fix position of the space hierarchy spinner [\element-hq#6462](matrix-org/matrix-react-sdk#6462) Fixes element-hq#18182 * Fix display of image messages that lack thumbnails [\element-hq#6456](matrix-org/matrix-react-sdk#6456) Fixes element-hq#18175 * Fix crash with large audio files. [\element-hq#6436](matrix-org/matrix-react-sdk#6436) Fixes element-hq#18149 * Make diff colors in codeblocks more pleasant [\element-hq#6355](matrix-org/matrix-react-sdk#6355) Fixes element-hq#17939 * Show the correct audio file duration while loading the file. [\element-hq#6435](matrix-org/matrix-react-sdk#6435) Fixes element-hq#18160 * Fix various timeline settings not applying immediately. [\element-hq#6261](matrix-org/matrix-react-sdk#6261) Fixes element-hq#17748 * Fix issues with room list duplication [\element-hq#6391](matrix-org/matrix-react-sdk#6391) Fixes element-hq#14508 * Fix grecaptcha throwing useless error sometimes [\element-hq#6401](matrix-org/matrix-react-sdk#6401) Fixes element-hq#15142 * Update Emojibase and Twemoji and switch to IamCal (Slack-style) shortcodes [\element-hq#6347](matrix-org/matrix-react-sdk#6347) Fixes element-hq#13857 and element-hq#13334 * Respect compound emojis in default avatar initial generation [\element-hq#6397](matrix-org/matrix-react-sdk#6397) Fixes element-hq#18040 * Fix bug where the 'other homeserver' field in the server selection dialog would become briefly focus and then unfocus when clicked. [\element-hq#6394](matrix-org/matrix-react-sdk#6394) Fixes element-hq#18031 * Standardise spelling and casing of homeserver, identity server, and integration manager [\element-hq#6365](matrix-org/matrix-react-sdk#6365) * Fix widgets not receiving decrypted events when they have permission. [\element-hq#6371](matrix-org/matrix-react-sdk#6371) Fixes element-hq#17615 * Prevent client hangs when calculating blurhashes [\element-hq#6366](matrix-org/matrix-react-sdk#6366) Fixes element-hq#17945 * Exclude state events from widgets reading room events [\element-hq#6378](matrix-org/matrix-react-sdk#6378) * Cache feature_spaces\* flags to improve performance [\element-hq#6381](matrix-org/matrix-react-sdk#6381)
* Sanitize untrusted variables from message previews before translation Fixes element-hq#18314 * Fix editing of `<sub>` & `<sup`> & `<u>` [\element-hq#6469](matrix-org/matrix-react-sdk#6469) Fixes element-hq#18211 * Zoom images in lightbox to where the cursor points [\element-hq#6418](matrix-org/matrix-react-sdk#6418) Fixes element-hq#17870 * Avoid hitting the settings store from TextForEvent [\element-hq#6205](matrix-org/matrix-react-sdk#6205) Fixes element-hq#17650 * Initial MSC3083 + MSC3244 support [\element-hq#6212](matrix-org/matrix-react-sdk#6212) Fixes element-hq#17686 and element-hq#17661 * Navigate to the first room with notifications when clicked on space notification dot [\element-hq#5974](matrix-org/matrix-react-sdk#5974) * Add matrix: to the list of permitted URL schemes [\element-hq#6388](matrix-org/matrix-react-sdk#6388) * Add "Copy Link" to room context menu [\element-hq#6374](matrix-org/matrix-react-sdk#6374) * 💭 Message bubble layout [\element-hq#6291](matrix-org/matrix-react-sdk#6291) Fixes element-hq#4635, element-hq#17773 element-hq#16220 and element-hq#7687 * Play only one audio file at a time [\#6417](matrix-org/matrix-react-sdk#6417) Fixes element-hq#17439 * Move download button for media to the action bar [\element-hq#6386](matrix-org/matrix-react-sdk#6386) Fixes element-hq#17943 * Improved display of one-to-one call history with summary boxes for each call [\element-hq#6121](matrix-org/matrix-react-sdk#6121) Fixes element-hq#16409 * Notification settings UI refresh [\element-hq#6352](matrix-org/matrix-react-sdk#6352) Fixes element-hq#17782 * Fix EventIndex double handling events and erroring [\element-hq#6385](matrix-org/matrix-react-sdk#6385) Fixes element-hq#18008 * Improve reply rendering [\element-hq#3553](matrix-org/matrix-react-sdk#3553) Fixes element-hq#9217, element-hq#7633, element-hq#7530, element-hq#7169, element-hq#7151, element-hq#6692 element-hq#6579 and element-hq#17440 * Improve performance of room name calculation [\element-hq#1801](matrix-org/matrix-js-sdk#1801) * Fix browser history getting stuck looping back to the same room [\element-hq#18053](element-hq#18053) * Fix space shortcuts on layouts with non-English keys in the places of numbers [\element-hq#17780](element-hq#17780) Fixes element-hq#17776 * Fix CreateRoomDialog exploding when making public room outside of a space [\element-hq#6493](matrix-org/matrix-react-sdk#6493) * Fix regression where registration would soft-crash on captcha [\element-hq#6505](matrix-org/matrix-react-sdk#6505) Fixes element-hq#18284 * only send join rule event if we have a join rule to put in it [\element-hq#6517](matrix-org/matrix-react-sdk#6517) * Improve the new download button's discoverability and interactions. [\element-hq#6510](matrix-org/matrix-react-sdk#6510) * Fix voice recording UI looking broken while microphone permissions are being requested. [\element-hq#6479](matrix-org/matrix-react-sdk#6479) Fixes element-hq#18223 * Match colors of room and user avatars in DMs [\element-hq#6393](matrix-org/matrix-react-sdk#6393) Fixes element-hq#2449 * Fix onPaste handler to work with copying files from Finder [\element-hq#5389](matrix-org/matrix-react-sdk#5389) Fixes element-hq#15536 and element-hq#16255 * Fix infinite pagination loop when offline [\element-hq#6478](matrix-org/matrix-react-sdk#6478) Fixes element-hq#18242 * Fix blurhash rounded corners missing regression [\element-hq#6467](matrix-org/matrix-react-sdk#6467) Fixes element-hq#18110 * Fix position of the space hierarchy spinner [\element-hq#6462](matrix-org/matrix-react-sdk#6462) Fixes element-hq#18182 * Fix display of image messages that lack thumbnails [\element-hq#6456](matrix-org/matrix-react-sdk#6456) Fixes element-hq#18175 * Fix crash with large audio files. [\element-hq#6436](matrix-org/matrix-react-sdk#6436) Fixes element-hq#18149 * Make diff colors in codeblocks more pleasant [\element-hq#6355](matrix-org/matrix-react-sdk#6355) Fixes element-hq#17939 * Show the correct audio file duration while loading the file. [\element-hq#6435](matrix-org/matrix-react-sdk#6435) Fixes element-hq#18160 * Fix various timeline settings not applying immediately. [\element-hq#6261](matrix-org/matrix-react-sdk#6261) Fixes element-hq#17748 * Fix issues with room list duplication [\element-hq#6391](matrix-org/matrix-react-sdk#6391) Fixes element-hq#14508 * Fix grecaptcha throwing useless error sometimes [\element-hq#6401](matrix-org/matrix-react-sdk#6401) Fixes element-hq#15142 * Update Emojibase and Twemoji and switch to IamCal (Slack-style) shortcodes [\element-hq#6347](matrix-org/matrix-react-sdk#6347) Fixes element-hq#13857 and element-hq#13334 * Respect compound emojis in default avatar initial generation [\element-hq#6397](matrix-org/matrix-react-sdk#6397) Fixes element-hq#18040 * Fix bug where the 'other homeserver' field in the server selection dialog would become briefly focus and then unfocus when clicked. [\element-hq#6394](matrix-org/matrix-react-sdk#6394) Fixes element-hq#18031 * Standardise spelling and casing of homeserver, identity server, and integration manager [\element-hq#6365](matrix-org/matrix-react-sdk#6365) * Fix widgets not receiving decrypted events when they have permission. [\element-hq#6371](matrix-org/matrix-react-sdk#6371) Fixes element-hq#17615 * Prevent client hangs when calculating blurhashes [\element-hq#6366](matrix-org/matrix-react-sdk#6366) Fixes element-hq#17945 * Exclude state events from widgets reading room events [\element-hq#6378](matrix-org/matrix-react-sdk#6378) * Cache feature_spaces\* flags to improve performance [\element-hq#6381](matrix-org/matrix-react-sdk#6381)
Description
If there is a large amount of membership change events in a room, it causes the Element web client to go crazy, dragging the performance of the browser and the whole system down, and have a hard time showing any logs before that.
Steps to reproduce
Describe how what happens differs from what you expected.
Logs being sent: yes/no
Room in Element web (https://webchat.kde.org/#/room/#krita:kde.org):
Same room viewed on Element Android:
Version information
For the web app:
The text was updated successfully, but these errors were encountered: