Skip to content

Instantly share code, notes, and snippets.

@simolus3
Created July 8, 2026 16:20
Show Gist options
  • Select an option

  • Save simolus3/efad5b9622079b63ac68f599b45dfafa to your computer and use it in GitHub Desktop.

Select an option

Save simolus3/efad5b9622079b63ac68f599b45dfafa to your computer and use it in GitHub Desktop.
WebKit SharedWorker bug
<!DOCTYPE html>
<html>
<head>
<script>
const worker = new SharedWorker('./shared_worker.js');
console.log('has worker!');
worker.port.onmessage = (event) => {
console.log(event.data);
};
</script>
</head>
</html>
const ports = [];
const workerId = crypto.randomUUID();
globalThis.onconnect = (e) => {
ports.push(...e.ports);
e.ports.forEach((port) => {
port.start();
});
};
function pingPorts() {
for (const port of ports) {
port.postMessage(`Shared worker ${workerId} working...`);
}
}
setInterval(pingPorts, 1000);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment