@crvouga/mockingbird-service-posthog 3.10.4 → 3.10.6

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,5 +1,17 @@
1
1
  # Changelog — @crvouga/mockingbird-service-posthog
2
2
 
3
+ ## 3.10.6 (2026-11-02)
4
+
5
+ ### Fixes and improvements
6
+
7
+ - save and replay a 500 the endpoint produced under an Idempotency-Key ([789bbcc](https://github.com/crvouga/mockingbird/commit/789bbcccb792cddaf27f4f6db6d2fcf2da1d07fe))
8
+
9
+ ## 3.10.5 (2026-11-02)
10
+
11
+ ### Fixes and improvements
12
+
13
+ - compare the admin key in constant time ([2a43141](https://github.com/crvouga/mockingbird/commit/2a43141f50dab41e698c3bbce0c69bf65b40e24e))
14
+
3
15
  ## 3.10.4 (2026-11-02)
4
16
 
5
17
  ### Fixes and improvements
@@ -2401,6 +2401,18 @@ var createNamespaceControls = (options) => {
2401
2401
  };
2402
2402
  };
2403
2403
 
2404
+ // ../core/dist/signing.js
2405
+ var encoder = new TextEncoder();
2406
+ var fromBase64 = (value) => Uint8Array.from(atob(value), (char) => char.charCodeAt(0));
2407
+ var timingSafeEqual = (a, b) => {
2408
+ if (a.length !== b.length)
2409
+ return false;
2410
+ let diff = 0;
2411
+ for (let i = 0; i < a.length; i++)
2412
+ diff |= a.charCodeAt(i) ^ b.charCodeAt(i);
2413
+ return diff === 0;
2414
+ };
2415
+
2404
2416
  // ../core/dist/surface.js
2405
2417
  var defineMock = (runtime) => runtime;
2406
2418
  var ADMIN_ROUTE_REFERENCE = {
@@ -2519,6 +2531,10 @@ var assertAdminPrefixAvailable = (prefix, paths) => {
2519
2531
  }
2520
2532
  };
2521
2533
  var ADMIN_KEY_HEADER = CONTROL_HEADERS.adminKey;
2534
+ var hasAdminKey = (headers, adminKey) => {
2535
+ const sent = headers.get(ADMIN_KEY_HEADER);
2536
+ return sent !== null && timingSafeEqual(sent, adminKey);
2537
+ };
2522
2538
  var NAMESPACE_HEADER = CONTROL_HEADERS.namespace;
2523
2539
  var ADMIN_DOCS_URL = "https://mockingbird.chrisvouga.dev/docs/admin-controls";
2524
2540
  var ADMIN_CONTROL_PAGES = [
@@ -2992,7 +3008,7 @@ var createControlPlane = (context) => {
2992
3008
  }
2993
3009
  const path = url.pathname.slice(adminPrefix.length) || "/";
2994
3010
  const shell = request.method === "GET" && (path === "/ui" || path === "/ui/");
2995
- if (!shell && context.adminKey !== void 0 && request.headers.get(ADMIN_KEY_HEADER) !== context.adminKey) {
3011
+ if (!shell && context.adminKey !== void 0 && !hasAdminKey(request.headers, context.adminKey)) {
2996
3012
  return adminError(401, `missing or wrong ${ADMIN_KEY_HEADER}`);
2997
3013
  }
2998
3014
  for (const route of routes) {
@@ -3790,11 +3806,7 @@ var stateAdminRoutes = (routes) => {
3790
3806
  };
3791
3807
 
3792
3808
  // ../core/dist/version.js
3793
- var PACKAGE_VERSION = true ? "3.10.4" : UNRELEASED_VERSION;
3794
-
3795
- // ../core/dist/signing.js
3796
- var encoder = new TextEncoder();
3797
- var fromBase64 = (value) => Uint8Array.from(atob(value), (char) => char.charCodeAt(0));
3809
+ var PACKAGE_VERSION = true ? "3.10.6" : UNRELEASED_VERSION;
3798
3810
 
3799
3811
  // ../core/dist/webhooks.js
3800
3812
  var json4 = (status, body) => new Response(JSON.stringify(body), {
@@ -4774,7 +4786,7 @@ var createRuntime = (options) => {
4774
4786
  throw error3;
4775
4787
  }
4776
4788
  const rewinds = at !== void 0 && selectedBranch === "main" && MUTATING_METHODS.has(request.method);
4777
- if ((requested || rewinds) && options.adminKey !== void 0 && request.headers.get(ADMIN_KEY_HEADER) !== options.adminKey)
4789
+ if ((requested || rewinds) && options.adminKey !== void 0 && !hasAdminKey(request.headers, options.adminKey))
4778
4790
  return refuse(401, `control headers need ${ADMIN_KEY_HEADER}`);
4779
4791
  controls.ensure(namespace);
4780
4792
  if (requested?.restore !== void 0 && !snapshotStore.get(namespace, requested.restore))
@@ -6288,4 +6300,4 @@ export {
6288
6300
  scrubProperties,
6289
6301
  PostHogAPI
6290
6302
  };
6291
- //# sourceMappingURL=chunk-2KRGFCNC.js.map
6303
+ //# sourceMappingURL=chunk-FDH3BRLV.js.map