self.addEventListener("message", async e => {
  let clients = await self.clients.matchAll({
    type: "window",
    includeUncontrolled: true,
  });

  let hasWindow = false;
  for (let client of clients) {
    if (e.data == client.url) {
      hasWindow = true;
      break;
    }
  }

  e.source.postMessage(hasWindow);
});
