Skip to content

Commit 6dbdec5

Browse files
committed
fix(messaging): Use callback syntax to avoid chrome 144 compatibility
issues
1 parent e8e3f1e commit 6dbdec5

File tree

2 files changed

+15
-4
lines changed

2 files changed

+15
-4
lines changed

packages/isolated-element/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@webext-core/isolated-element",
3-
"version": "1.1.4",
3+
"version": "2.0.0",
44
"description": "Isolate content script UI's styles from the parent page. Supports all browsers (Chrome, Firefox, Safari)",
55
"license": "MIT",
66
"keywords": [

packages/messaging/src/extension.ts

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -79,9 +79,20 @@ export function defineExtensionMessaging<
7979
);
8080
},
8181
addRootListener(processMessage) {
82-
const listener = (message: any, sender: Runtime.MessageSender) => {
83-
if (typeof message === 'object') return processMessage({ ...message, sender });
84-
else return processMessage(message);
82+
const listener = (
83+
message: any,
84+
sender: Runtime.MessageSender,
85+
sendResponse: (response?: any) => void,
86+
) => {
87+
if (typeof message !== 'object') return;
88+
89+
const result = processMessage({ ...message, sender });
90+
if (result instanceof Promise) {
91+
result.then(sendResponse).catch(err => {
92+
sendResponse({ __webextCoreError: err?.message ?? String(err) });
93+
});
94+
return true;
95+
}
8596
};
8697

8798
Browser.runtime.onMessage.addListener(listener);

0 commit comments

Comments
 (0)