@crvouga/mockingbird-service-pharmetika 1.0.2 → 1.1.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/CHANGELOG.md CHANGED
@@ -1,6 +1,24 @@
1
1
  # Changelog — @crvouga/mockingbird-service-pharmetika
2
2
 
3
- ## 1.0.2 (2026-09-26)
3
+ ## 1.1.1 (2026-09-29)
4
+
5
+ ### Fixes and improvements
6
+
7
+ - sign and retry webhooks on the injected clock ([1091bde](https://github.com/crvouga/mockingbird/commit/1091bde0df69d9cc3eba2062d8523755e6caca14))
8
+
9
+ ## 1.1.0 (2026-09-29)
10
+
11
+ ### Features
12
+
13
+ - let a scalar naming a later branch's enum value pick that branch ([30ade3a](https://github.com/crvouga/mockingbird/commit/30ade3a28a5b6b273ffbf261216b821acac8e961))
14
+
15
+ ### Fixes and improvements
16
+
17
+ - stop cleared webhook deliveries from rescheduling forever ([424b78f](https://github.com/crvouga/mockingbird/commit/424b78f29317b162e3bf7d0049cc19be5b977026))
18
+ - serialize immediate webhook attempts to fix reorder flake ([625c82b](https://github.com/crvouga/mockingbird/commit/625c82b5a8a7992c1cf93e9df68e77af08b353e3))
19
+ - flush drains webhook retries scheduled while it runs ([c58cede](https://github.com/crvouga/mockingbird/commit/c58cede1b6ba7ae5ed3f8721ad9b7cd7bc0b1ca7))
20
+
21
+ ## 1.0.2 (2026-09-25)
4
22
 
5
23
  ### Fixes and improvements
6
24
 
@@ -1623,7 +1623,7 @@ var restoreNamespace = (sqlite, namespace, snapshot) => {
1623
1623
  };
1624
1624
 
1625
1625
  // ../core/dist/version.js
1626
- var PACKAGE_VERSION = true ? "1.0.2" : UNRELEASED_VERSION;
1626
+ var PACKAGE_VERSION = true ? "1.1.1" : UNRELEASED_VERSION;
1627
1627
 
1628
1628
  // ../core/dist/signing.js
1629
1629
  var encoder = new TextEncoder();
@@ -1716,6 +1716,7 @@ var createWebhookHub = (options) => {
1716
1716
  const faults = /* @__PURE__ */ new Map();
1717
1717
  const held = /* @__PURE__ */ new Map();
1718
1718
  const inFlight2 = /* @__PURE__ */ new Set();
1719
+ let immediate = Promise.resolve();
1719
1720
  const track = (work) => {
1720
1721
  inFlight2.add(work);
1721
1722
  void work.finally(() => inFlight2.delete(work));
@@ -1778,22 +1779,28 @@ var createWebhookHub = (options) => {
1778
1779
  pending.delete(delivery.id);
1779
1780
  return;
1780
1781
  }
1781
- const run = () => {
1782
- pending.delete(delivery.id);
1783
- track(attempt(delivery).then((ok) => {
1782
+ const settle = async () => {
1783
+ if (!payloads.has(delivery.id))
1784
+ return;
1785
+ await attempt(delivery).then((ok) => {
1784
1786
  if (ok)
1785
1787
  delivery.state = "delivered";
1786
1788
  else
1787
1789
  schedule(delivery);
1788
- }));
1790
+ });
1789
1791
  };
1790
1792
  const delay = delays[index] ?? 0;
1791
1793
  if (delay <= 0) {
1792
- pending.set(delivery.id, void 0);
1793
- run();
1794
+ const task = immediate.then(settle);
1795
+ immediate = task.catch(() => {
1796
+ });
1797
+ track(task);
1794
1798
  return;
1795
1799
  }
1796
- const timer = scheduleTimer(run, delay);
1800
+ const timer = scheduleTimer(() => {
1801
+ pending.delete(delivery.id);
1802
+ track(settle());
1803
+ }, delay);
1797
1804
  unref(timer);
1798
1805
  pending.set(delivery.id, timer);
1799
1806
  };
@@ -1889,25 +1896,30 @@ var createWebhookHub = (options) => {
1889
1896
  return delivery;
1890
1897
  },
1891
1898
  async flush() {
1892
- for (const namespace of [...held.keys()])
1893
- releaseHeld(namespace);
1894
- const waiting = [...pending.entries()];
1895
- for (const [id2, timer] of waiting) {
1896
- if (timer === void 0)
1897
- continue;
1898
- cancel(timer);
1899
- pending.delete(id2);
1900
- const delivery = deliveries.get(id2);
1901
- if (!delivery)
1902
- continue;
1903
- track(attempt(delivery).then((ok) => {
1904
- if (ok)
1905
- delivery.state = "delivered";
1906
- else
1907
- schedule(delivery);
1908
- }));
1899
+ for (; ; ) {
1900
+ for (const namespace of [...held.keys()])
1901
+ releaseHeld(namespace);
1902
+ const waiting = [...pending.entries()];
1903
+ for (const [id2, timer] of waiting) {
1904
+ if (timer === void 0)
1905
+ continue;
1906
+ cancel(timer);
1907
+ pending.delete(id2);
1908
+ const delivery = deliveries.get(id2);
1909
+ if (!delivery)
1910
+ continue;
1911
+ track(attempt(delivery).then((ok) => {
1912
+ if (ok)
1913
+ delivery.state = "delivered";
1914
+ else
1915
+ schedule(delivery);
1916
+ }));
1917
+ }
1918
+ await hub.idle();
1919
+ const scheduled = [...pending.values()].some((timer) => timer !== void 0);
1920
+ if (held.size === 0 && !scheduled)
1921
+ return;
1909
1922
  }
1910
- await hub.idle();
1911
1923
  },
1912
1924
  async idle() {
1913
1925
  while (inFlight2.size > 0)
@@ -3543,4 +3555,4 @@ export {
3543
3555
  tokenCredential,
3544
3556
  PharmetikaAPI
3545
3557
  };
3546
- //# sourceMappingURL=chunk-ORDQM2BB.js.map
3558
+ //# sourceMappingURL=chunk-B27FMDZ5.js.map