Skip to content

Commit cfa3014

Browse files
committed
skip broadcasting if empty, use multi if # > 1
1 parent 82debd2 commit cfa3014

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/background/broadcast.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,23 +64,31 @@ async function doBroadcast() {
6464
}
6565
}
6666
if (client) {
67-
jobs.push(broadcastExtension(data, true));
67+
jobs.push(broadcastExtension(
68+
data.length > 1 ? data : data[0],
69+
data.length > 1
70+
));
6871
} else if (!tabsLen) {
6972
return;
7073
}
7174
for (const tabId of tabs) {
7275
const msg = !nStyled || tabMan.getStyleIds(tabId)
7376
? msgStyled ??= data
7477
: msgUnstyled ??= data.filter((v, i) => !styled[i]);
75-
if (jobs.push(sendTab(tabId, msg, undefined, true)) > 20) {
78+
const num = msg.length;
79+
if (num && jobs.push(sendTab(
80+
tabId,
81+
num > 1 ? msg : msg[0],
82+
undefined,
83+
num > 1
84+
)) > 20) {
7685
await Promise.all(jobs.splice(0));
7786
}
7887
}
7988
await Promise.all(jobs);
8089
}
8190

8291
export function broadcastExtension(data, multi) {
83-
if (multi && !(multi = data.length > 1)) data = data[0];
8492
return unwrap(browser.runtime.sendMessage({data, multi}));
8593
}
8694

@@ -89,7 +97,6 @@ export function pingTab(tabId, frameId = 0) {
8997
}
9098

9199
export function sendTab(tabId, data, options, multi) {
92-
if (multi && !(multi = data.length > 1)) data = data[0];
93100
return unwrap(browser.tabs.sendMessage(tabId, {data, multi}, options), multi);
94101
}
95102

0 commit comments

Comments
 (0)