@wrongstack/desktop 0.306.4 → 0.307.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/main/main.js CHANGED
@@ -1641,28 +1641,44 @@ function waitForHttpReady(baseUrl, token, timeoutMs) {
1641
1641
  url.searchParams.set("token", token);
1642
1642
  url.searchParams.set("shell", "desktop");
1643
1643
  return new Promise((resolve3, reject) => {
1644
+ let probeTimer;
1645
+ const cleanup = () => {
1646
+ if (probeTimer) {
1647
+ clearTimeout(probeTimer);
1648
+ probeTimer = void 0;
1649
+ }
1650
+ };
1644
1651
  const probe = () => {
1652
+ let done = false;
1653
+ const triggerRetry = () => {
1654
+ if (done) return;
1655
+ done = true;
1656
+ if (Date.now() >= deadline) {
1657
+ reject(new Error(`WebUI did not become ready at ${baseUrl}`));
1658
+ return;
1659
+ }
1660
+ probeTimer = setTimeout(probe, 250);
1661
+ };
1645
1662
  const req = http.get(url, (res) => {
1646
1663
  res.resume();
1647
1664
  if (res.statusCode && res.statusCode >= 200 && res.statusCode < 500) {
1648
- resolve3();
1665
+ if (!done) {
1666
+ done = true;
1667
+ cleanup();
1668
+ resolve3();
1669
+ }
1649
1670
  return;
1650
1671
  }
1651
- retry();
1672
+ triggerRetry();
1673
+ });
1674
+ req.once("error", () => {
1675
+ triggerRetry();
1652
1676
  });
1653
- req.once("error", retry);
1654
1677
  req.setTimeout(1e3, () => {
1655
1678
  req.destroy();
1656
- retry();
1679
+ triggerRetry();
1657
1680
  });
1658
1681
  };
1659
- const retry = () => {
1660
- if (Date.now() >= deadline) {
1661
- reject(new Error(`WebUI did not become ready at ${baseUrl}`));
1662
- return;
1663
- }
1664
- setTimeout(probe, 250);
1665
- };
1666
1682
  probe();
1667
1683
  });
1668
1684
  }