I enjoy following threads on bug trackers, here is one that got fixed recently :)
this was possible in FF but not in Chrome until recently.
chrome.runtime.onMessage.addListener(async (msg) => {
const res = await someAsyncFunction();
return res;
});
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage