cross-tab-worker-databus 0.21.30 → 0.21.31

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.
@@ -767,6 +767,18 @@ var WorkerClusterRuntime = class {
767
767
  this.routeOwnerCache.delete(oldest);
768
768
  }
769
769
  }
770
+ // Concrete topic → the local wildcard pattern that matched it, or `null` for
771
+ // "scanned, nothing matched". UNLIKE the reverse cache below, this map has no cap:
772
+ // it grows one entry per distinct topic this worker publishes, and is cleared only
773
+ // on the two lifecycle teardowns whose `routeOwnerCache.clear()` sits beside each
774
+ // `wildcardPublishCache.clear()`. Measured: 1,200 `publish()` calls on distinct
775
+ // topic names leave `knownTopics` at its 500-entry cap and this map holding 1,200.
776
+ // A cap is not free here, because both halves decide something. Evicting a pattern
777
+ // re-runs the first local dispatch the entry exists to prevent. Evicting a `null`
778
+ // re-scans, and if a wildcard was assigned in the meantime that publication
779
+ // dispatches locally instead of routing by owner — the fan-out a first publication
780
+ // gets. So bounding this map needs a rule about which of the two may be forgotten,
781
+ // not a number; until one is chosen the growth is the honest cost of the memo.
770
782
  wildcardPublishCache = /* @__PURE__ */ new Map();
771
783
  // Reverse mapping: opaque topicKey → plaintext topic. A bounded cache with
772
784
  // FIFO eviction — NOT authoritative. It can hold a topicKey that is also in
@@ -2594,7 +2606,7 @@ var SDK_VERSION = (
2594
2606
  // declaration's type is `string | undefined` and the export's is `string`
2595
2607
  // (dropping the conditional is TS2322, measured). Recorded here so the leg reads
2596
2608
  // as a shape the harness cannot reach rather than as a case nobody exercised.
2597
- true ? "0.21.30" : ""
2609
+ true ? "0.21.31" : ""
2598
2610
  );
2599
2611
 
2600
2612
  // src/core/data-bus.ts