I am developer of a web extension (getalby.com) which I am trying to run with Orion.
It seems there is an incompatibility related to the browser.runtime.sendMessage()
API.
sendMessage should return a promise that fulfills with the response sent by the receiver.
In Orion the response is always null
.
Code sending the message: https://github.com/getAlby/lightning-browser-extension/blob/master/src/common/lib/utils.ts#L17-L31
Receiver in the background script: https://github.com/getAlby/lightning-browser-extension/blob/master/src/extension/background-script/index.js#L95-L101
In my debugging the data is correctly logged in the background script but the response of the fulfilled promise is null.
Steps to reproduce:
I don't have a test case.
But if you install the Alby extension (which is actively used in Chrome and Firefox) you will see the error "Unhandled Promise Rejection: TypeError: null is not an object (evaluating 'e.error')" in the website console. This error is because we assume a proper response
Expected behavior:
If the receiver of the sendMessage() sends a response the Promise should fulfill with that data.
https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/sendMessage#return_value
Orion, OS version; hardware type:
MacOS 12.3.1 (M1 chip)
Orion: 0.99.115-beta (WebKit 614.1.12)