My background script is listening for chrome.runtime.onMessage and it needs to do run an async function before sending the response i.e.
chrome.runtime.onMessage.addListener(function (
message,
sender,
sendResponse
) {
setTimeout(() => {
sendResponse("response")
}, 100);
return true;
})
The MDN docs for this say that returning true should allow sendResponse to happen asynchronously, and it works in our chrome extension. But in safari the content script is never getting the response.
Sending the response without async works fine.
My safari version is Version 16.1 (17614.2.9.1.13, 17614)
This is a V3 manifest chrome extension that we are using xcrun safari-web-extension-converter
to convert to safari
Is there a workaround for this?