async function receiveMessage(message, sender, sendResponse) {
    // restrict messages to this extension only
    if (sender.id !== chrome.runtime.id) {
        // silently exit without responding when the source is foreign
        return;
    }

    try {
        const settings = await getFullSettings();
        handleMessage(settings, message, sendResponse);
    } catch (e) {
        // handle error
        console.log(e);
        sendResponse({ status: "error", message: e.toString() });
    }
}
Wrap inbound messages to fetch native configuration

@since 3.0.0

@param mixed            message      Incoming message
@param MessageSender    sender       Message sender
@param function(mixed)  sendResponse Callback to send response
@return void