DEV: Add workaround for chrome crash (#30157)

Some users are seeing consistent "Error 5" crashes in chrome when saving/deleting bookmarks on chat messages.

When crash logging is enabled, the message is:

`[33466:259:1206/122312.195048:ERROR:ax_object.cc(3400)] Check failed: !NeedsToUpdateCachedValues(). Stale values: "Group" axid#7543 <svg#discourse-emojis> needsToUpdateCachedValues/disallowed isIgnored inUserAgentShadowRoot:<use> isInert needsToUpdateChildren hasDirtyDescendants`

This seems to be influenced by a few factors, including the re-render of the bookmarks button, the adjacent 'reactions' button, and also the opening/closing of the modal.

Adding this `activeElement.blur` seems to avoid the issue in my manual testing. Hopefully, this can be dropped after future chrome releases.

Internal topic: t/143485
This commit is contained in:
David Taylor 2024-12-06 16:05:09 +00:00 committed by GitHub
parent 07f4e56658
commit 55980a2a84
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -327,6 +327,13 @@ export default class ChatMessageInteractor {
@action @action
toggleBookmark() { toggleBookmark() {
// somehow, this works around a low-level chrome rendering issue which
// causes a complete browser crash when saving/deleting bookmarks in chat.
// Error message: "Check failed: !NeedsToUpdateCachedValues()."
// Internal topic: t/143485
// Hopefully, this can be dropped in future chrome versions
document.activeElement?.blur();
this.modal.show(BookmarkModal, { this.modal.show(BookmarkModal, {
model: { model: {
bookmark: new BookmarkFormData( bookmark: new BookmarkFormData(