Closed Bug 1656863 Opened 1 year ago Closed 1 year ago

`Uncaught (in promise) Error: not allowed` on about:compat


(Web Compatibility :: Interventions, defect, P1)


(firefox80 unaffected, firefox81 fixed)

Tracking Status
firefox80 --- unaffected
firefox81 --- fixed


(Reporter: denschub, Assigned: twisniewski)




(Keywords: regression)


(1 file)

In the current nightly, about:compat is empty, showing an exception in the JS console

Uncaught (in promise) Error: not allowed
    <anonymous> moz-extension://cd379ded-2d01-a345-ae77-e2bc31021b43/about-compat/aboutCompat.js:49

This appears to be a regression of bug 1637329! Note that, for some reason, it works fine if you have about:compat loaded at the start (for example by using -a "about:compat" in mozregression, but not if you open a new tab and access the page.

Tom, does something come to mind here?

Flags: needinfo?(twisniewski)
Keywords: regression
Regressed by: 1637329

No, I'm not sure why that promise would suddenly be failing. But I will have a look tomorrow.

Summary: `Uncaught (in promise) Error: not allowed` on about:config → `Uncaught (in promise) Error: not allowed` on about:compat
Assignee: nobody → twisniewski
Severity: -- → S1
Priority: -- → P1

Ah, it turns out that this happens because both the shims and about:compat broker both use browser.runtime.onMessage, and only one of them ends up being called due to both possibly returning a value. The fix isn't too involved - just making sure that both handlers get a chance to process the message, even if one of them returns undefined when it tries to ignore a given message.

Flags: needinfo?(twisniewski)
Pushed by
ensure that about:compat and shims both get a chance to process messages; r=denschub,webcompat-reviewers
Closed: 1 year ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.