3

Today I found my scratch org updated with a new critical bug.

I have a lwc page containing a plethora of other lwc components, which would be quite a mess to debug file-after-file. It works fine on Linux x64 Chromium and Opera. It worked fine on firefox until the Spring '21 update.

Bug

Bug behaviour is as follow: Upon loading of the page (firefox, dev console opened), everything works fine, until the first time the user clicks in the webpage. An error modal appears, with A Component Error has occurred as its heading. Message is: [t is undefined]. Component descriptor is: markup://app_flexipage:lwcAppFlexipageInternal. Error is raised by:

https://static.lightning.force.com/cs18/auraFW/javascript/8WYDoRiNKzw4em08r-Gg4A/aura_prod.js, function callHook, line 37, col 72404. Here is the whole stack trace (pastebin)

It's important to note that this bug triggers only when firefox's dev console is opened. No action is required in the dev console to reproduce the bug, and it does so on a fresh install of firefox. Also the stack trace does not contain a custom component, it's all base app in the stack trace. Unfortunately, debug mode is not an option. Also, to be clear, when I talk about the dev console, I am talking about the firefox development tool you can open with F12, I am NOT talking about the salesforce developer console.

According to this question there shouldn't be any breaking change of the sort. According to Salesforce's Spring '21 release document there shouldn't be a special setup necessary for firefox, indicating there shouldn't be any browser-specific major bug. Any ideas or pointers?

1

After more digging on this bug I have an answer:

A component inside had an onclik event targetting an unwritten method.

onclick={handleMenuEvent}

Where handleMenuEvent is undefined. On any other browser this fails silently. On firefox with dev console opened it raises an error. Something should be done in aura_prod to render the behaviour consistent one way or another.

TL;DR: check your events and that all methods mentioned in the HTML are defined in the JS.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.