@posthog/core 1.46.6 → 1.46.8

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.
@@ -42,6 +42,7 @@ export declare const flagDetailsToResults: (flagDetails: Record<string, FeatureF
42
42
  * The list is the union across client and server SDKs; entries are inert where an
43
43
  * SDK never sets them.
44
44
  */
45
+ export declare const MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES: readonly ["utm_source", "utm_medium", "utm_campaign", "utm_content", "utm_term", "gad_source", "mc_cid", "gclid", "gclsrc", "dclid", "gbraid", "wbraid", "fbclid", "msclkid", "twclid", "li_fat_id", "igshid", "ttclid", "rdt_cid", "epik", "qclid", "sccid", "irclid", "_kx"];
45
46
  export declare const MINIMAL_FLAG_CALLED_EVENT_PROPERTIES: readonly string[];
46
47
  /**
47
48
  * Builds the minimal `$feature_flag_called` property set from fully assembled event
@@ -1 +1 @@
1
- {"version":3,"file":"featureFlagUtils.d.ts","sourceRoot":"","sources":["../src/featureFlagUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAEhB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EAEtB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,sBAAsB,GACjC,eACI,mBAAmB,CAAC,sBAAsB,EAAE,OAAO,CAAC,GACpD,mBAAmB,CAAC,sBAAsB,EAAE,cAAc,GAAG,qBAAqB,CAAC,KACtF,2BAgCF,CAAA;AAqBD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAG,oBAAoB,CAAC,cAAc,CAMhH,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,oBAAoB,CAAC,OAAO,CAAC,KACnC,oBAAoB,CAAC,qBAAqB,CAa5C,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,QAAQ,iBAAiB,GAAG,SAAS,KAAG,gBAAgB,GAAG,SAE9F,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,UAAU,GAAG,KAAG,GAU5C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,uCAAuC,GAClD,cAAc,sBAAsB,CAAC,cAAc,CAAC,EACpD,qBAAqB,sBAAsB,CAAC,qBAAqB,CAAC,KACjE,2BAaF,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,iBAAiB,EAAE,OAAO,gBAAgB,KAAG,iBAMlF,CAAA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,eAAO,MAAM,oBAAoB,GAAI,aAAa,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAG,iBAAiB,EAWtG,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,oCAAoC,EAAE,SAAS,MAAM,EA2BjE,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,GAC5C,YAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,gBAAe,SAAS,MAAM,EAAO,KACpC,MAAM,CAAC,MAAM,EAAE,GAAG,CAUpB,CAAA"}
1
+ {"version":3,"file":"featureFlagUtils.d.ts","sourceRoot":"","sources":["../src/featureFlagUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,EAEhB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EAEtB,mBAAmB,EACnB,2BAA2B,EAC5B,MAAM,SAAS,CAAA;AAEhB,eAAO,MAAM,sBAAsB,GACjC,eACI,mBAAmB,CAAC,sBAAsB,EAAE,OAAO,CAAC,GACpD,mBAAmB,CAAC,sBAAsB,EAAE,cAAc,GAAG,qBAAqB,CAAC,KACtF,2BAgCF,CAAA;AAqBD;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO,oBAAoB,CAAC,OAAO,CAAC,KAAG,oBAAoB,CAAC,cAAc,CAMhH,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAC/B,OAAO,oBAAoB,CAAC,OAAO,CAAC,KACnC,oBAAoB,CAAC,qBAAqB,CAa5C,CAAA;AAED,eAAO,MAAM,mBAAmB,GAAI,QAAQ,iBAAiB,GAAG,SAAS,KAAG,gBAAgB,GAAG,SAE9F,CAAA;AAED,eAAO,MAAM,YAAY,GAAI,UAAU,GAAG,KAAG,GAU5C,CAAA;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,uCAAuC,GAClD,cAAc,sBAAsB,CAAC,cAAc,CAAC,EACpD,qBAAqB,sBAAsB,CAAC,qBAAqB,CAAC,KACjE,2BAaF,CAAA;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,iBAAiB,EAAE,OAAO,gBAAgB,KAAG,iBAMlF,CAAA;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAEpE;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAE/E;AAED,eAAO,MAAM,oBAAoB,GAAI,aAAa,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,KAAG,iBAAiB,EAWtG,CAAA;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,6CAA6C,gRAyBhD,CAAA;AAEV,eAAO,MAAM,oCAAoC,EAAE,SAAS,MAAM,EAmCjE,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,iCAAiC,GAC5C,YAAY,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,gBAAe,SAAS,MAAM,EAAO,KACpC,MAAM,CAAC,MAAM,EAAE,GAAG,CAUpB,CAAA"}
@@ -24,6 +24,7 @@ var __webpack_require__ = {};
24
24
  var __webpack_exports__ = {};
25
25
  __webpack_require__.r(__webpack_exports__);
26
26
  __webpack_require__.d(__webpack_exports__, {
27
+ MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES: ()=>MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES,
27
28
  MINIMAL_FLAG_CALLED_EVENT_PROPERTIES: ()=>MINIMAL_FLAG_CALLED_EVENT_PROPERTIES,
28
29
  createFlagsResponseFromFlagsAndPayloads: ()=>createFlagsResponseFromFlagsAndPayloads,
29
30
  flagDetailsToResults: ()=>flagDetailsToResults,
@@ -140,6 +141,32 @@ const flagDetailsToResults = (flagDetails)=>Object.values(flagDetails).map((deta
140
141
  payload: void 0 !== rawPayload ? parsePayload(rawPayload) : null
141
142
  };
142
143
  });
144
+ const MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES = [
145
+ 'utm_source',
146
+ 'utm_medium',
147
+ 'utm_campaign',
148
+ 'utm_content',
149
+ 'utm_term',
150
+ 'gad_source',
151
+ 'mc_cid',
152
+ 'gclid',
153
+ 'gclsrc',
154
+ 'dclid',
155
+ 'gbraid',
156
+ 'wbraid',
157
+ 'fbclid',
158
+ 'msclkid',
159
+ 'twclid',
160
+ 'li_fat_id',
161
+ 'igshid',
162
+ 'ttclid',
163
+ 'rdt_cid',
164
+ 'epik',
165
+ 'qclid',
166
+ 'sccid',
167
+ 'irclid',
168
+ '_kx'
169
+ ];
143
170
  const MINIMAL_FLAG_CALLED_EVENT_PROPERTIES = [
144
171
  '$feature_flag',
145
172
  '$feature_flag_response',
@@ -156,6 +183,8 @@ const MINIMAL_FLAG_CALLED_EVENT_PROPERTIES = [
156
183
  '$geoip_disable',
157
184
  '$current_url',
158
185
  '$pathname',
186
+ '$referring_domain',
187
+ ...MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES,
159
188
  '$session_id',
160
189
  '$window_id',
161
190
  '$lib',
@@ -172,6 +201,7 @@ const minimizeFlagCalledEventProperties = (properties, transportKeys = [])=>{
172
201
  transportKeys.forEach(copyKey);
173
202
  return minimal;
174
203
  };
204
+ exports.MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES = __webpack_exports__.MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES;
175
205
  exports.MINIMAL_FLAG_CALLED_EVENT_PROPERTIES = __webpack_exports__.MINIMAL_FLAG_CALLED_EVENT_PROPERTIES;
176
206
  exports.createFlagsResponseFromFlagsAndPayloads = __webpack_exports__.createFlagsResponseFromFlagsAndPayloads;
177
207
  exports.flagDetailsToResults = __webpack_exports__.flagDetailsToResults;
@@ -185,6 +215,7 @@ exports.normalizeFlagsResponse = __webpack_exports__.normalizeFlagsResponse;
185
215
  exports.parsePayload = __webpack_exports__.parsePayload;
186
216
  exports.updateFlagValue = __webpack_exports__.updateFlagValue;
187
217
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
218
+ "MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES",
188
219
  "MINIMAL_FLAG_CALLED_EVENT_PROPERTIES",
189
220
  "createFlagsResponseFromFlagsAndPayloads",
190
221
  "flagDetailsToResults",
@@ -101,6 +101,32 @@ const flagDetailsToResults = (flagDetails)=>Object.values(flagDetails).map((deta
101
101
  payload: void 0 !== rawPayload ? parsePayload(rawPayload) : null
102
102
  };
103
103
  });
104
+ const MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES = [
105
+ 'utm_source',
106
+ 'utm_medium',
107
+ 'utm_campaign',
108
+ 'utm_content',
109
+ 'utm_term',
110
+ 'gad_source',
111
+ 'mc_cid',
112
+ 'gclid',
113
+ 'gclsrc',
114
+ 'dclid',
115
+ 'gbraid',
116
+ 'wbraid',
117
+ 'fbclid',
118
+ 'msclkid',
119
+ 'twclid',
120
+ 'li_fat_id',
121
+ 'igshid',
122
+ 'ttclid',
123
+ 'rdt_cid',
124
+ 'epik',
125
+ 'qclid',
126
+ 'sccid',
127
+ 'irclid',
128
+ '_kx'
129
+ ];
104
130
  const MINIMAL_FLAG_CALLED_EVENT_PROPERTIES = [
105
131
  '$feature_flag',
106
132
  '$feature_flag_response',
@@ -117,6 +143,8 @@ const MINIMAL_FLAG_CALLED_EVENT_PROPERTIES = [
117
143
  '$geoip_disable',
118
144
  '$current_url',
119
145
  '$pathname',
146
+ '$referring_domain',
147
+ ...MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES,
120
148
  '$session_id',
121
149
  '$window_id',
122
150
  '$lib',
@@ -133,4 +161,4 @@ const minimizeFlagCalledEventProperties = (properties, transportKeys = [])=>{
133
161
  transportKeys.forEach(copyKey);
134
162
  return minimal;
135
163
  };
136
- export { MINIMAL_FLAG_CALLED_EVENT_PROPERTIES, createFlagsResponseFromFlagsAndPayloads, flagDetailsToResults, getEnabledFromValue, getFeatureFlagValue, getFlagValuesFromFlags, getPayloadsFromFlags, getVariantFromValue, minimizeFlagCalledEventProperties, normalizeFlagsResponse, parsePayload, updateFlagValue };
164
+ export { MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES, MINIMAL_FLAG_CALLED_EVENT_PROPERTIES, createFlagsResponseFromFlagsAndPayloads, flagDetailsToResults, getEnabledFromValue, getFeatureFlagValue, getFlagValuesFromFlags, getPayloadsFromFlags, getVariantFromValue, minimizeFlagCalledEventProperties, normalizeFlagsResponse, parsePayload, updateFlagValue };
package/dist/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export { getFeatureFlagValue, getEnabledFromValue, getVariantFromValue, parsePayload, flagDetailsToResults, minimizeFlagCalledEventProperties, } from './featureFlagUtils';
1
+ export { getFeatureFlagValue, getEnabledFromValue, getVariantFromValue, parsePayload, flagDetailsToResults, MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES, minimizeFlagCalledEventProperties, } from './featureFlagUtils';
2
2
  export { gzipCompress, isGzipData, isGzipRequest, isGzipSupported, isNativeAsyncGzipError, isNativeAsyncGzipReadError, } from './gzip';
3
3
  export * from './utils';
4
4
  export * as ErrorTracking from './error-tracking';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,iCAAiC,GAClC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,QAAQ,CAAA;AACf,cAAc,SAAS,CAAA;AACvB,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,cAAc,CAAA;AAIrB,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAGzG,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAGhE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAElB,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,OAAO,EACP,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,6CAA6C,EAC7C,iCAAiC,GAClC,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,aAAa,EACb,eAAe,EACf,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,QAAQ,CAAA;AACf,cAAc,SAAS,CAAA;AACvB,OAAO,KAAK,aAAa,MAAM,kBAAkB,CAAA;AACjD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,EACvB,qBAAqB,EACrB,mBAAmB,EACnB,cAAc,EACd,kBAAkB,GACnB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,cAAc,CAAA;AAIrB,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAGzG,YAAY,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAA;AAGhE,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC1D,OAAO,EACL,cAAc,EACd,uBAAuB,EACvB,8BAA8B,EAC9B,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,WAAW,EACX,oBAAoB,EACpB,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,WAAW,CAAA;AAElB,YAAY,EACV,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,YAAY,EACZ,UAAU,EACV,OAAO,EACP,aAAa,GACd,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,SAAS,CAAA;AACvB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA"}
package/dist/index.js CHANGED
@@ -89,6 +89,7 @@ var __webpack_exports__ = {};
89
89
  __webpack_require__.d(__webpack_exports__, {
90
90
  DEFAULT_HISTOGRAM_BOUNDS: ()=>_metrics__WEBPACK_IMPORTED_MODULE_6__.DEFAULT_HISTOGRAM_BOUNDS,
91
91
  ErrorTracking: ()=>_error_tracking__WEBPACK_IMPORTED_MODULE_3__,
92
+ MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES: ()=>_featureFlagUtils__WEBPACK_IMPORTED_MODULE_0__.MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES,
92
93
  PostHogLogs: ()=>_logs__WEBPACK_IMPORTED_MODULE_5__.PostHogLogs,
93
94
  PostHogMetrics: ()=>_metrics__WEBPACK_IMPORTED_MODULE_6__.PostHogMetrics,
94
95
  buildMetricsResourceAttributes: ()=>_metrics__WEBPACK_IMPORTED_MODULE_6__.buildMetricsResourceAttributes,
@@ -144,6 +145,7 @@ var __webpack_exports__ = {};
144
145
  "isGzipRequest",
145
146
  "getFeatureFlagValue",
146
147
  "getValidationError",
148
+ "MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES",
147
149
  "default",
148
150
  "resolveMetricsConfig",
149
151
  "getRequirementsHint",
@@ -187,6 +189,7 @@ var __webpack_exports__ = {};
187
189
  "isGzipRequest",
188
190
  "getFeatureFlagValue",
189
191
  "getValidationError",
192
+ "MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES",
190
193
  "default",
191
194
  "resolveMetricsConfig",
192
195
  "getRequirementsHint",
@@ -225,6 +228,7 @@ var __webpack_exports__ = {};
225
228
  "isGzipRequest",
226
229
  "getFeatureFlagValue",
227
230
  "getValidationError",
231
+ "MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES",
228
232
  "default",
229
233
  "resolveMetricsConfig",
230
234
  "getRequirementsHint",
@@ -263,6 +267,7 @@ var __webpack_exports__ = {};
263
267
  "isGzipRequest",
264
268
  "getFeatureFlagValue",
265
269
  "getValidationError",
270
+ "MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES",
266
271
  "default",
267
272
  "resolveMetricsConfig",
268
273
  "getRequirementsHint",
@@ -301,6 +306,7 @@ var __webpack_exports__ = {};
301
306
  "isGzipRequest",
302
307
  "getFeatureFlagValue",
303
308
  "getValidationError",
309
+ "MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES",
304
310
  "default",
305
311
  "resolveMetricsConfig",
306
312
  "getRequirementsHint",
@@ -339,6 +345,7 @@ var __webpack_exports__ = {};
339
345
  "isGzipRequest",
340
346
  "getFeatureFlagValue",
341
347
  "getValidationError",
348
+ "MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES",
342
349
  "default",
343
350
  "resolveMetricsConfig",
344
351
  "getRequirementsHint",
@@ -357,6 +364,7 @@ var __webpack_exports__ = {};
357
364
  })();
358
365
  exports.DEFAULT_HISTOGRAM_BOUNDS = __webpack_exports__.DEFAULT_HISTOGRAM_BOUNDS;
359
366
  exports.ErrorTracking = __webpack_exports__.ErrorTracking;
367
+ exports.MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES = __webpack_exports__.MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES;
360
368
  exports.PostHogLogs = __webpack_exports__.PostHogLogs;
361
369
  exports.PostHogMetrics = __webpack_exports__.PostHogMetrics;
362
370
  exports.buildMetricsResourceAttributes = __webpack_exports__.buildMetricsResourceAttributes;
@@ -388,6 +396,7 @@ exports.uuidv7 = __webpack_exports__.uuidv7;
388
396
  for(var __webpack_i__ in __webpack_exports__)if (-1 === [
389
397
  "DEFAULT_HISTOGRAM_BOUNDS",
390
398
  "ErrorTracking",
399
+ "MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES",
391
400
  "PostHogLogs",
392
401
  "PostHogMetrics",
393
402
  "buildMetricsResourceAttributes",
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { flagDetailsToResults, getEnabledFromValue, getFeatureFlagValue, getVariantFromValue, minimizeFlagCalledEventProperties, parsePayload } from "./featureFlagUtils.mjs";
1
+ import { MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES, flagDetailsToResults, getEnabledFromValue, getFeatureFlagValue, getVariantFromValue, minimizeFlagCalledEventProperties, parsePayload } from "./featureFlagUtils.mjs";
2
2
  import { gzipCompress, isGzipData, isGzipRequest, isGzipSupported, isNativeAsyncGzipError, isNativeAsyncGzipReadError } from "./gzip.mjs";
3
3
  import { buildOtlpLogRecord, buildOtlpLogsPayload, buildResourceAttributes, getOtlpSeverityNumber, getOtlpSeverityText, toOtlpAnyValue, toOtlpKeyValueList } from "./logs/logs-utils.mjs";
4
4
  import { PostHogLogs } from "./logs/index.mjs";
@@ -12,4 +12,4 @@ export * from "./posthog-core-stateless.mjs";
12
12
  export * from "./tracing-headers.mjs";
13
13
  export * from "./types.mjs";
14
14
  import * as __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ from "./error-tracking/index.mjs";
15
- export { DEFAULT_HISTOGRAM_BOUNDS, __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ as ErrorTracking, PostHogLogs, PostHogMetrics, buildMetricsResourceAttributes, buildOtlpLogRecord, buildOtlpLogsPayload, buildOtlpMetricsPayload, buildResourceAttributes, flagDetailsToResults, getEnabledFromValue, getFeatureFlagValue, getLengthFromRules, getOtlpSeverityNumber, getOtlpSeverityText, getRequirementsHint, getValidationError, getVariantFromValue, gzipCompress, isGzipData, isGzipRequest, isGzipSupported, isNativeAsyncGzipError, isNativeAsyncGzipReadError, minimizeFlagCalledEventProperties, parsePayload, resolveMetricsConfig, toOtlpAnyValue, toOtlpKeyValueList, uuidv7 };
15
+ export { DEFAULT_HISTOGRAM_BOUNDS, __WEBPACK_EXTERNAL_MODULE__error_tracking_index_mjs_b3406d6f__ as ErrorTracking, MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES, PostHogLogs, PostHogMetrics, buildMetricsResourceAttributes, buildOtlpLogRecord, buildOtlpLogsPayload, buildOtlpMetricsPayload, buildResourceAttributes, flagDetailsToResults, getEnabledFromValue, getFeatureFlagValue, getLengthFromRules, getOtlpSeverityNumber, getOtlpSeverityText, getRequirementsHint, getValidationError, getVariantFromValue, gzipCompress, isGzipData, isGzipRequest, isGzipSupported, isNativeAsyncGzipError, isNativeAsyncGzipReadError, minimizeFlagCalledEventProperties, parsePayload, resolveMetricsConfig, toOtlpAnyValue, toOtlpKeyValueList, uuidv7 };
@@ -1 +1 @@
1
- {"version":3,"file":"posthog-core-stateless.d.ts","sourceRoot":"","sources":["../src/posthog-core-stateless.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"posthog-core-stateless.d.ts","sourceRoot":"","sources":["../src/posthog-core-stateless.ts"],"names":[],"mappings":"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"}
@@ -39,17 +39,56 @@ const index_js_namespaceObject = require("./utils/index.js");
39
39
  const uuidv7_js_namespaceObject = require("./vendor/uuidv7.js");
40
40
  const external_error_tracking_index_js_namespaceObject = require("./error-tracking/index.js");
41
41
  class PostHogFetchHttpError extends Error {
42
- constructor(response, reqByteLength){
43
- super('HTTP error while fetching PostHog: status=' + response.status + ', reqByteLength=' + reqByteLength), this.response = response, this.reqByteLength = reqByteLength, this.name = 'PostHogFetchHttpError';
42
+ constructor(response, reqByteLength, responseBodyDeadline, abortController){
43
+ super('HTTP error while fetching PostHog: status=' + response.status + ', reqByteLength=' + reqByteLength), this.response = response, this.reqByteLength = reqByteLength, this.responseBodyDeadline = responseBodyDeadline, this.abortController = abortController, this.name = 'PostHogFetchHttpError', this._bodyReadTimedOut = false;
44
44
  }
45
45
  get status() {
46
46
  return this.response.status;
47
47
  }
48
+ get bodyReadTimedOut() {
49
+ return this._bodyReadTimedOut;
50
+ }
48
51
  get text() {
49
- return this.response.text();
52
+ if (!this.responseBodyTextPromise) if (Date.now() >= this.responseBodyDeadline) {
53
+ this._bodyReadTimedOut = true;
54
+ const timeoutError = new Error('Response body read timed out');
55
+ timeoutError.name = 'AbortError';
56
+ this.cancelResponseBody(timeoutError);
57
+ this.responseBodyTextPromise = Promise.reject(timeoutError);
58
+ } else {
59
+ const responseBodyTimeout = new Promise((_resolve, reject)=>{
60
+ this.responseBodyTimer = (0, index_js_namespaceObject.safeSetTimeout)(()=>{
61
+ this._bodyReadTimedOut = true;
62
+ const timeoutError = new Error('Response body read timed out');
63
+ timeoutError.name = 'AbortError';
64
+ reject(timeoutError);
65
+ this.cancelResponseBody(timeoutError);
66
+ }, this.responseBodyDeadline - Date.now());
67
+ });
68
+ let responseBodyText;
69
+ try {
70
+ responseBodyText = Promise.resolve(this.response.text());
71
+ } catch (error) {
72
+ responseBodyText = Promise.reject(error);
73
+ }
74
+ this.responseBodyTextPromise = Promise.race([
75
+ responseBodyText,
76
+ responseBodyTimeout
77
+ ]).finally(()=>clearTimeout(this.responseBodyTimer));
78
+ }
79
+ return this.responseBodyTextPromise;
50
80
  }
51
81
  get json() {
52
- return this.response.json();
82
+ return this.text.then((text)=>JSON.parse(text));
83
+ }
84
+ cancelResponseBody(reason) {
85
+ clearTimeout(this.responseBodyTimer);
86
+ if (!this.abortController.signal.aborted) this.abortController.abort(reason);
87
+ (async ()=>{
88
+ try {
89
+ await this.response.body?.cancel();
90
+ } catch {}
91
+ })();
53
92
  }
54
93
  }
55
94
  class PostHogFetchNetworkError extends Error {
@@ -70,7 +109,9 @@ async function logFlushError(err) {
70
109
  let text = '';
71
110
  try {
72
111
  text = await err.text;
73
- } catch {}
112
+ } catch {
113
+ if (err.bodyReadTimedOut) text = '<response body read timed out>';
114
+ }
74
115
  console.error(`Error while flushing PostHog: message=${err.message}, response body=${text}`, err);
75
116
  } else console.error('Error while flushing PostHog', err);
76
117
  return Promise.resolve();
@@ -332,8 +373,11 @@ class PostHogCoreStateless {
332
373
  }
333
374
  };
334
375
  return this.fetchWithRetry(url, fetchOptions, {
376
+ type: 'required',
377
+ consume: (response)=>response.json()
378
+ }, {
335
379
  retryCount: 0
336
- }, this.remoteConfigRequestTimeoutMs).then((response)=>response.json()).catch((error)=>{
380
+ }, this.remoteConfigRequestTimeoutMs).catch((error)=>{
337
381
  this._logger.error('Remote config could not be loaded', error);
338
382
  this._events.emit('error', error);
339
383
  });
@@ -362,9 +406,12 @@ class PostHogCoreStateless {
362
406
  };
363
407
  this._logger.info('Flags URL', url);
364
408
  return this.fetchWithRetry(url, fetchOptions, {
409
+ type: 'required',
410
+ consume: (response)=>response.json()
411
+ }, {
365
412
  retryCount: this.featureFlagsRequestMaxRetries,
366
413
  retryCheck: isRetryableFlagsFetchError
367
- }, this.featureFlagsRequestTimeoutMs).then((response)=>response.json()).then((response)=>({
414
+ }, this.featureFlagsRequestTimeoutMs).then((response)=>({
368
415
  success: true,
369
416
  response: (0, external_featureFlagUtils_js_namespaceObject.normalizeFlagsResponse)(response)
370
417
  })).catch((error)=>{
@@ -491,15 +538,18 @@ class PostHogCoreStateless {
491
538
  'Content-Type': 'application/json'
492
539
  }
493
540
  };
494
- const response = await this.fetchWithRetry(url, fetchOptions).then((response)=>{
495
- if (200 !== response.status || !response.json) {
496
- const msg = `Surveys API could not be loaded: ${response.status}`;
497
- const error = new Error(msg);
498
- this._logger.error(error);
499
- this._events.emit('error', new Error(msg));
500
- return;
541
+ const response = await this.fetchWithRetry(url, fetchOptions, {
542
+ type: 'required',
543
+ consume: (response)=>{
544
+ if (200 !== response.status || !response.json) {
545
+ const msg = `Surveys API could not be loaded: ${response.status}`;
546
+ const error = new Error(msg);
547
+ this._logger.error(error);
548
+ this._events.emit('error', new Error(msg));
549
+ return Promise.resolve(void 0);
550
+ }
551
+ return response.json();
501
552
  }
502
- return response.json();
503
553
  }).catch((error)=>{
504
554
  this._logger.error('Surveys API could not be loaded', error);
505
555
  this._events.emit('error', error);
@@ -706,8 +756,9 @@ class PostHogCoreStateless {
706
756
  },
707
757
  body: gzippedPayload || payload
708
758
  };
709
- const response = await this.fetchWithRetry(url, fetchOptions, retryOptions);
710
- await response.body?.cancel()?.catch(()=>{});
759
+ await this.fetchWithRetry(url, fetchOptions, {
760
+ type: 'successful-write'
761
+ }, retryOptions);
711
762
  }
712
763
  async _flush() {
713
764
  this.clearFlushTimer();
@@ -794,6 +845,8 @@ class PostHogCoreStateless {
794
845
  };
795
846
  try {
796
847
  await this.fetchWithRetry(url, fetchOptions, {
848
+ type: 'successful-write'
849
+ }, {
797
850
  retryCheck: (err)=>{
798
851
  if (isPostHogFetchContentTooLargeError(err)) return false;
799
852
  return isPostHogFetchRetryableError(err);
@@ -837,6 +890,8 @@ class PostHogCoreStateless {
837
890
  };
838
891
  try {
839
892
  await this.fetchWithRetry(url, fetchOptions, {
893
+ type: 'successful-write'
894
+ }, {
840
895
  retryCheck: (err)=>{
841
896
  if (isPostHogFetchContentTooLargeError(err)) return false;
842
897
  return isPostHogFetchRetryableError(err);
@@ -859,7 +914,7 @@ class PostHogCoreStateless {
859
914
  };
860
915
  }
861
916
  }
862
- async fetchWithRetry(url, options, retryOptions, requestTimeout) {
917
+ async fetchWithRetry(url, options, responseHandling, retryOptions, requestTimeout) {
863
918
  const body = options.body ? options.body : '';
864
919
  let reqByteLength = -1;
865
920
  try {
@@ -871,27 +926,86 @@ class PostHogCoreStateless {
871
926
  reqByteLength = encoded.length;
872
927
  }
873
928
  }
929
+ const retriableOptions = {
930
+ ...this._retryOptions,
931
+ ...retryOptions
932
+ };
933
+ let attempt = 0;
874
934
  return await (0, index_js_namespaceObject.retriable)(async ()=>{
935
+ attempt++;
875
936
  const ctrl = new AbortController();
876
937
  const timeoutMs = requestTimeout ?? this.requestTimeout;
877
- const timer = (0, index_js_namespaceObject.safeSetTimeout)(()=>ctrl.abort(), timeoutMs);
878
- let res = null;
938
+ const requestDeadline = Date.now() + timeoutMs;
939
+ let timer;
940
+ const deadline = new Promise((_resolve, reject)=>{
941
+ timer = (0, index_js_namespaceObject.safeSetTimeout)(()=>{
942
+ const timeoutError = new Error(`Request timed out after ${timeoutMs}ms`);
943
+ timeoutError.name = 'AbortError';
944
+ reject(timeoutError);
945
+ ctrl.abort(timeoutError);
946
+ }, timeoutMs);
947
+ });
948
+ let res;
949
+ let responseAccepted = false;
950
+ let cancellation;
951
+ const cancelBody = ()=>cancellation ??= (async ()=>{
952
+ try {
953
+ await res?.body?.cancel();
954
+ } catch {}
955
+ })();
879
956
  try {
880
- res = await this.fetch(url, {
881
- signal: ctrl.signal,
882
- ...options
883
- });
884
- } catch (e) {
885
- throw new PostHogFetchNetworkError(e);
957
+ let fetchPromise;
958
+ try {
959
+ fetchPromise = this.fetch(url, {
960
+ signal: ctrl.signal,
961
+ ...options
962
+ });
963
+ } catch (e) {
964
+ throw new PostHogFetchNetworkError(e);
965
+ }
966
+ fetchPromise.then((lateResponse)=>{
967
+ if (ctrl.signal.aborted && !responseAccepted) Promise.resolve(lateResponse.body?.cancel()).catch(()=>{});
968
+ }).catch(()=>{});
969
+ try {
970
+ res = await Promise.race([
971
+ fetchPromise,
972
+ deadline
973
+ ]);
974
+ responseAccepted = true;
975
+ } catch (e) {
976
+ throw new PostHogFetchNetworkError(e);
977
+ }
978
+ const isNoCors = 'no-cors' === options.mode;
979
+ if (!isNoCors && (res.status < 200 || res.status >= 400)) throw new PostHogFetchHttpError(res, reqByteLength, requestDeadline, ctrl);
980
+ if ('successful-write' === responseHandling.type) {
981
+ try {
982
+ await Promise.race([
983
+ cancelBody(),
984
+ deadline
985
+ ]);
986
+ } catch {}
987
+ return;
988
+ }
989
+ try {
990
+ return await Promise.race([
991
+ responseHandling.consume(res),
992
+ deadline
993
+ ]);
994
+ } catch (e) {
995
+ if (ctrl.signal.aborted) throw new PostHogFetchNetworkError(e);
996
+ throw e;
997
+ }
886
998
  } finally{
887
999
  clearTimeout(timer);
1000
+ if (ctrl.signal.aborted && res) cancelBody();
888
1001
  }
889
- const isNoCors = 'no-cors' === options.mode;
890
- if (!isNoCors && (res.status < 200 || res.status >= 400)) throw new PostHogFetchHttpError(res, reqByteLength);
891
- return res;
892
1002
  }, {
893
- ...this._retryOptions,
894
- ...retryOptions
1003
+ ...retriableOptions,
1004
+ retryCheck: (error)=>{
1005
+ const shouldRetry = retriableOptions.retryCheck(error);
1006
+ if (shouldRetry && attempt <= retriableOptions.retryCount && error instanceof PostHogFetchHttpError) error.cancelResponseBody();
1007
+ return shouldRetry;
1008
+ }
895
1009
  });
896
1010
  }
897
1011
  async _shutdown(shutdownTimeoutMs = 30000) {
@@ -6,17 +6,56 @@ import { PromiseQueue, STRING_FORMAT, allSettled, createLogger, currentISOTime,
6
6
  import { uuidv7 } from "./vendor/uuidv7.mjs";
7
7
  import { ErrorCoercer, ErrorPropertiesBuilder, ObjectCoercer, PrimitiveCoercer, StringCoercer, createDefaultStackParser } from "./error-tracking/index.mjs";
8
8
  class PostHogFetchHttpError extends Error {
9
- constructor(response, reqByteLength){
10
- super('HTTP error while fetching PostHog: status=' + response.status + ', reqByteLength=' + reqByteLength), this.response = response, this.reqByteLength = reqByteLength, this.name = 'PostHogFetchHttpError';
9
+ constructor(response, reqByteLength, responseBodyDeadline, abortController){
10
+ super('HTTP error while fetching PostHog: status=' + response.status + ', reqByteLength=' + reqByteLength), this.response = response, this.reqByteLength = reqByteLength, this.responseBodyDeadline = responseBodyDeadline, this.abortController = abortController, this.name = 'PostHogFetchHttpError', this._bodyReadTimedOut = false;
11
11
  }
12
12
  get status() {
13
13
  return this.response.status;
14
14
  }
15
+ get bodyReadTimedOut() {
16
+ return this._bodyReadTimedOut;
17
+ }
15
18
  get text() {
16
- return this.response.text();
19
+ if (!this.responseBodyTextPromise) if (Date.now() >= this.responseBodyDeadline) {
20
+ this._bodyReadTimedOut = true;
21
+ const timeoutError = new Error('Response body read timed out');
22
+ timeoutError.name = 'AbortError';
23
+ this.cancelResponseBody(timeoutError);
24
+ this.responseBodyTextPromise = Promise.reject(timeoutError);
25
+ } else {
26
+ const responseBodyTimeout = new Promise((_resolve, reject)=>{
27
+ this.responseBodyTimer = safeSetTimeout(()=>{
28
+ this._bodyReadTimedOut = true;
29
+ const timeoutError = new Error('Response body read timed out');
30
+ timeoutError.name = 'AbortError';
31
+ reject(timeoutError);
32
+ this.cancelResponseBody(timeoutError);
33
+ }, this.responseBodyDeadline - Date.now());
34
+ });
35
+ let responseBodyText;
36
+ try {
37
+ responseBodyText = Promise.resolve(this.response.text());
38
+ } catch (error) {
39
+ responseBodyText = Promise.reject(error);
40
+ }
41
+ this.responseBodyTextPromise = Promise.race([
42
+ responseBodyText,
43
+ responseBodyTimeout
44
+ ]).finally(()=>clearTimeout(this.responseBodyTimer));
45
+ }
46
+ return this.responseBodyTextPromise;
17
47
  }
18
48
  get json() {
19
- return this.response.json();
49
+ return this.text.then((text)=>JSON.parse(text));
50
+ }
51
+ cancelResponseBody(reason) {
52
+ clearTimeout(this.responseBodyTimer);
53
+ if (!this.abortController.signal.aborted) this.abortController.abort(reason);
54
+ (async ()=>{
55
+ try {
56
+ await this.response.body?.cancel();
57
+ } catch {}
58
+ })();
20
59
  }
21
60
  }
22
61
  class PostHogFetchNetworkError extends Error {
@@ -37,7 +76,9 @@ async function logFlushError(err) {
37
76
  let text = '';
38
77
  try {
39
78
  text = await err.text;
40
- } catch {}
79
+ } catch {
80
+ if (err.bodyReadTimedOut) text = '<response body read timed out>';
81
+ }
41
82
  console.error(`Error while flushing PostHog: message=${err.message}, response body=${text}`, err);
42
83
  } else console.error('Error while flushing PostHog', err);
43
84
  return Promise.resolve();
@@ -299,8 +340,11 @@ class PostHogCoreStateless {
299
340
  }
300
341
  };
301
342
  return this.fetchWithRetry(url, fetchOptions, {
343
+ type: 'required',
344
+ consume: (response)=>response.json()
345
+ }, {
302
346
  retryCount: 0
303
- }, this.remoteConfigRequestTimeoutMs).then((response)=>response.json()).catch((error)=>{
347
+ }, this.remoteConfigRequestTimeoutMs).catch((error)=>{
304
348
  this._logger.error('Remote config could not be loaded', error);
305
349
  this._events.emit('error', error);
306
350
  });
@@ -329,9 +373,12 @@ class PostHogCoreStateless {
329
373
  };
330
374
  this._logger.info('Flags URL', url);
331
375
  return this.fetchWithRetry(url, fetchOptions, {
376
+ type: 'required',
377
+ consume: (response)=>response.json()
378
+ }, {
332
379
  retryCount: this.featureFlagsRequestMaxRetries,
333
380
  retryCheck: isRetryableFlagsFetchError
334
- }, this.featureFlagsRequestTimeoutMs).then((response)=>response.json()).then((response)=>({
381
+ }, this.featureFlagsRequestTimeoutMs).then((response)=>({
335
382
  success: true,
336
383
  response: normalizeFlagsResponse(response)
337
384
  })).catch((error)=>{
@@ -458,15 +505,18 @@ class PostHogCoreStateless {
458
505
  'Content-Type': 'application/json'
459
506
  }
460
507
  };
461
- const response = await this.fetchWithRetry(url, fetchOptions).then((response)=>{
462
- if (200 !== response.status || !response.json) {
463
- const msg = `Surveys API could not be loaded: ${response.status}`;
464
- const error = new Error(msg);
465
- this._logger.error(error);
466
- this._events.emit('error', new Error(msg));
467
- return;
508
+ const response = await this.fetchWithRetry(url, fetchOptions, {
509
+ type: 'required',
510
+ consume: (response)=>{
511
+ if (200 !== response.status || !response.json) {
512
+ const msg = `Surveys API could not be loaded: ${response.status}`;
513
+ const error = new Error(msg);
514
+ this._logger.error(error);
515
+ this._events.emit('error', new Error(msg));
516
+ return Promise.resolve(void 0);
517
+ }
518
+ return response.json();
468
519
  }
469
- return response.json();
470
520
  }).catch((error)=>{
471
521
  this._logger.error('Surveys API could not be loaded', error);
472
522
  this._events.emit('error', error);
@@ -673,8 +723,9 @@ class PostHogCoreStateless {
673
723
  },
674
724
  body: gzippedPayload || payload
675
725
  };
676
- const response = await this.fetchWithRetry(url, fetchOptions, retryOptions);
677
- await response.body?.cancel()?.catch(()=>{});
726
+ await this.fetchWithRetry(url, fetchOptions, {
727
+ type: 'successful-write'
728
+ }, retryOptions);
678
729
  }
679
730
  async _flush() {
680
731
  this.clearFlushTimer();
@@ -761,6 +812,8 @@ class PostHogCoreStateless {
761
812
  };
762
813
  try {
763
814
  await this.fetchWithRetry(url, fetchOptions, {
815
+ type: 'successful-write'
816
+ }, {
764
817
  retryCheck: (err)=>{
765
818
  if (isPostHogFetchContentTooLargeError(err)) return false;
766
819
  return isPostHogFetchRetryableError(err);
@@ -804,6 +857,8 @@ class PostHogCoreStateless {
804
857
  };
805
858
  try {
806
859
  await this.fetchWithRetry(url, fetchOptions, {
860
+ type: 'successful-write'
861
+ }, {
807
862
  retryCheck: (err)=>{
808
863
  if (isPostHogFetchContentTooLargeError(err)) return false;
809
864
  return isPostHogFetchRetryableError(err);
@@ -826,7 +881,7 @@ class PostHogCoreStateless {
826
881
  };
827
882
  }
828
883
  }
829
- async fetchWithRetry(url, options, retryOptions, requestTimeout) {
884
+ async fetchWithRetry(url, options, responseHandling, retryOptions, requestTimeout) {
830
885
  const body = options.body ? options.body : '';
831
886
  let reqByteLength = -1;
832
887
  try {
@@ -838,27 +893,86 @@ class PostHogCoreStateless {
838
893
  reqByteLength = encoded.length;
839
894
  }
840
895
  }
896
+ const retriableOptions = {
897
+ ...this._retryOptions,
898
+ ...retryOptions
899
+ };
900
+ let attempt = 0;
841
901
  return await retriable(async ()=>{
902
+ attempt++;
842
903
  const ctrl = new AbortController();
843
904
  const timeoutMs = requestTimeout ?? this.requestTimeout;
844
- const timer = safeSetTimeout(()=>ctrl.abort(), timeoutMs);
845
- let res = null;
905
+ const requestDeadline = Date.now() + timeoutMs;
906
+ let timer;
907
+ const deadline = new Promise((_resolve, reject)=>{
908
+ timer = safeSetTimeout(()=>{
909
+ const timeoutError = new Error(`Request timed out after ${timeoutMs}ms`);
910
+ timeoutError.name = 'AbortError';
911
+ reject(timeoutError);
912
+ ctrl.abort(timeoutError);
913
+ }, timeoutMs);
914
+ });
915
+ let res;
916
+ let responseAccepted = false;
917
+ let cancellation;
918
+ const cancelBody = ()=>cancellation ??= (async ()=>{
919
+ try {
920
+ await res?.body?.cancel();
921
+ } catch {}
922
+ })();
846
923
  try {
847
- res = await this.fetch(url, {
848
- signal: ctrl.signal,
849
- ...options
850
- });
851
- } catch (e) {
852
- throw new PostHogFetchNetworkError(e);
924
+ let fetchPromise;
925
+ try {
926
+ fetchPromise = this.fetch(url, {
927
+ signal: ctrl.signal,
928
+ ...options
929
+ });
930
+ } catch (e) {
931
+ throw new PostHogFetchNetworkError(e);
932
+ }
933
+ fetchPromise.then((lateResponse)=>{
934
+ if (ctrl.signal.aborted && !responseAccepted) Promise.resolve(lateResponse.body?.cancel()).catch(()=>{});
935
+ }).catch(()=>{});
936
+ try {
937
+ res = await Promise.race([
938
+ fetchPromise,
939
+ deadline
940
+ ]);
941
+ responseAccepted = true;
942
+ } catch (e) {
943
+ throw new PostHogFetchNetworkError(e);
944
+ }
945
+ const isNoCors = 'no-cors' === options.mode;
946
+ if (!isNoCors && (res.status < 200 || res.status >= 400)) throw new PostHogFetchHttpError(res, reqByteLength, requestDeadline, ctrl);
947
+ if ('successful-write' === responseHandling.type) {
948
+ try {
949
+ await Promise.race([
950
+ cancelBody(),
951
+ deadline
952
+ ]);
953
+ } catch {}
954
+ return;
955
+ }
956
+ try {
957
+ return await Promise.race([
958
+ responseHandling.consume(res),
959
+ deadline
960
+ ]);
961
+ } catch (e) {
962
+ if (ctrl.signal.aborted) throw new PostHogFetchNetworkError(e);
963
+ throw e;
964
+ }
853
965
  } finally{
854
966
  clearTimeout(timer);
967
+ if (ctrl.signal.aborted && res) cancelBody();
855
968
  }
856
- const isNoCors = 'no-cors' === options.mode;
857
- if (!isNoCors && (res.status < 200 || res.status >= 400)) throw new PostHogFetchHttpError(res, reqByteLength);
858
- return res;
859
969
  }, {
860
- ...this._retryOptions,
861
- ...retryOptions
970
+ ...retriableOptions,
971
+ retryCheck: (error)=>{
972
+ const shouldRetry = retriableOptions.retryCheck(error);
973
+ if (shouldRetry && attempt <= retriableOptions.retryCount && error instanceof PostHogFetchHttpError) error.cancelResponseBody();
974
+ return shouldRetry;
975
+ }
862
976
  });
863
977
  }
864
978
  async _shutdown(shutdownTimeoutMs = 30000) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posthog/core",
3
- "version": "1.46.6",
3
+ "version": "1.46.8",
4
4
  "bugs": {
5
5
  "url": "https://github.com/PostHog/posthog-js/issues"
6
6
  },
@@ -70,7 +70,7 @@
70
70
  }
71
71
  },
72
72
  "dependencies": {
73
- "@posthog/types": "^1.400.0"
73
+ "@posthog/types": "^1.401.1"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@rslib/core": "0.10.6",
@@ -189,6 +189,33 @@ export const flagDetailsToResults = (flagDetails: Record<string, FeatureFlagDeta
189
189
  * The list is the union across client and server SDKs; entries are inert where an
190
190
  * SDK never sets them.
191
191
  */
192
+ export const MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES = [
193
+ 'utm_source',
194
+ 'utm_medium',
195
+ 'utm_campaign',
196
+ 'utm_content',
197
+ 'utm_term',
198
+ 'gad_source',
199
+ 'mc_cid',
200
+ 'gclid',
201
+ 'gclsrc',
202
+ 'dclid',
203
+ 'gbraid',
204
+ 'wbraid',
205
+ 'fbclid',
206
+ 'msclkid',
207
+ 'twclid',
208
+ 'li_fat_id',
209
+ 'igshid',
210
+ 'ttclid',
211
+ 'rdt_cid',
212
+ 'epik',
213
+ 'qclid',
214
+ 'sccid',
215
+ 'irclid',
216
+ '_kx',
217
+ ] as const
218
+
192
219
  export const MINIMAL_FLAG_CALLED_EVENT_PROPERTIES: readonly string[] = [
193
220
  // Flag identity
194
221
  '$feature_flag',
@@ -209,6 +236,14 @@ export const MINIMAL_FLAG_CALLED_EVENT_PROPERTIES: readonly string[] = [
209
236
  // Debug location
210
237
  '$current_url',
211
238
  '$pathname',
239
+ // Session-level attribution. The server session table derives session-initial UTM
240
+ // and channel type from whichever event lands first in a session, so these keys must
241
+ // survive minimization. The full `$referrer` URL is intentionally excluded.
242
+ '$referring_domain',
243
+ // Campaign params are stored as super properties under their bare names (no `$`
244
+ // prefix). This list is kept in sync with the browser SDK's canonical `CAMPAIGN_PARAMS`
245
+ // by an exhaustive browser regression test. Entries are inert on SDKs that never set them.
246
+ ...MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES,
212
247
  // Linkage / SDK identity
213
248
  '$session_id',
214
249
  '$window_id',
package/src/index.ts CHANGED
@@ -4,6 +4,7 @@ export {
4
4
  getVariantFromValue,
5
5
  parsePayload,
6
6
  flagDetailsToResults,
7
+ MINIMAL_FLAG_CALLED_EVENT_CAMPAIGN_PROPERTIES,
7
8
  minimizeFlagCalledEventProperties,
8
9
  } from './featureFlagUtils'
9
10
  export {
@@ -50,10 +50,15 @@ import {
50
50
 
51
51
  class PostHogFetchHttpError extends Error {
52
52
  name = 'PostHogFetchHttpError'
53
+ private responseBodyTextPromise?: Promise<string>
54
+ private responseBodyTimer?: ReturnType<typeof safeSetTimeout>
55
+ private _bodyReadTimedOut = false
53
56
 
54
57
  constructor(
55
58
  public response: PostHogFetchResponse,
56
- public reqByteLength: number
59
+ public reqByteLength: number,
60
+ private responseBodyDeadline: number,
61
+ private abortController: AbortController
57
62
  ) {
58
63
  super('HTTP error while fetching PostHog: status=' + response.status + ', reqByteLength=' + reqByteLength)
59
64
  }
@@ -62,12 +67,57 @@ class PostHogFetchHttpError extends Error {
62
67
  return this.response.status
63
68
  }
64
69
 
70
+ get bodyReadTimedOut(): boolean {
71
+ return this._bodyReadTimedOut
72
+ }
73
+
65
74
  get text(): Promise<string> {
66
- return this.response.text()
75
+ if (!this.responseBodyTextPromise) {
76
+ if (Date.now() >= this.responseBodyDeadline) {
77
+ this._bodyReadTimedOut = true
78
+ const timeoutError = new Error('Response body read timed out')
79
+ timeoutError.name = 'AbortError'
80
+ this.cancelResponseBody(timeoutError)
81
+ this.responseBodyTextPromise = Promise.reject(timeoutError)
82
+ } else {
83
+ const responseBodyTimeout = new Promise<never>((_resolve, reject) => {
84
+ this.responseBodyTimer = safeSetTimeout(() => {
85
+ this._bodyReadTimedOut = true
86
+ const timeoutError = new Error('Response body read timed out')
87
+ timeoutError.name = 'AbortError'
88
+ // Reject first so the timeout remains the diagnostic if abort rejects the body read synchronously.
89
+ reject(timeoutError)
90
+ this.cancelResponseBody(timeoutError)
91
+ }, this.responseBodyDeadline - Date.now())
92
+ })
93
+ let responseBodyText: Promise<string>
94
+ try {
95
+ responseBodyText = Promise.resolve(this.response.text())
96
+ } catch (error) {
97
+ responseBodyText = Promise.reject(error)
98
+ }
99
+ this.responseBodyTextPromise = Promise.race([responseBodyText, responseBodyTimeout]).finally(() =>
100
+ clearTimeout(this.responseBodyTimer)
101
+ )
102
+ }
103
+ }
104
+ return this.responseBodyTextPromise
67
105
  }
68
106
 
69
107
  get json(): Promise<any> {
70
- return this.response.json()
108
+ return this.text.then((text) => JSON.parse(text))
109
+ }
110
+
111
+ cancelResponseBody(reason?: unknown): void {
112
+ clearTimeout(this.responseBodyTimer)
113
+ if (!this.abortController.signal.aborted) {
114
+ this.abortController.abort(reason)
115
+ }
116
+ void (async () => {
117
+ try {
118
+ await this.response.body?.cancel()
119
+ } catch {}
120
+ })()
71
121
  }
72
122
  }
73
123
 
@@ -81,6 +131,15 @@ class PostHogFetchNetworkError extends Error {
81
131
  }
82
132
  }
83
133
 
134
+ type RequiredResponseHandling<T> = {
135
+ type: 'required'
136
+ consume: (response: PostHogFetchResponse) => Promise<T>
137
+ }
138
+
139
+ type SuccessfulWriteResponseHandling = {
140
+ type: 'successful-write'
141
+ }
142
+
84
143
  export const maybeAdd = (key: string, value: JsonType | undefined): Record<string, JsonType> =>
85
144
  value !== undefined ? { [key]: value } : {}
86
145
 
@@ -101,7 +160,11 @@ export async function logFlushError(err: any): Promise<void> {
101
160
  let text = ''
102
161
  try {
103
162
  text = await err.text
104
- } catch {}
163
+ } catch {
164
+ if (err.bodyReadTimedOut) {
165
+ text = '<response body read timed out>'
166
+ }
167
+ }
105
168
 
106
169
  console.error(`Error while flushing PostHog: message=${err.message}, response body=${text}`, err)
107
170
  } else {
@@ -612,13 +675,17 @@ export abstract class PostHogCoreStateless {
612
675
  headers: { ...this.getCustomHeaders(), 'Content-Type': 'application/json' },
613
676
  }
614
677
  // Don't retry remote config API calls
615
- return this.fetchWithRetry(url, fetchOptions, { retryCount: 0 }, this.remoteConfigRequestTimeoutMs)
616
- .then((response) => response.json() as Promise<PostHogRemoteConfig>)
617
- .catch((error) => {
618
- this._logger.error('Remote config could not be loaded', error)
619
- this._events.emit('error', error)
620
- return undefined
621
- })
678
+ return this.fetchWithRetry(
679
+ url,
680
+ fetchOptions,
681
+ { type: 'required', consume: (response) => response.json() as Promise<PostHogRemoteConfig> },
682
+ { retryCount: 0 },
683
+ this.remoteConfigRequestTimeoutMs
684
+ ).catch((error) => {
685
+ this._logger.error('Remote config could not be loaded', error)
686
+ this._events.emit('error', error)
687
+ return undefined
688
+ })
622
689
  }
623
690
 
624
691
  /***
@@ -669,10 +736,13 @@ export abstract class PostHogCoreStateless {
669
736
  return this.fetchWithRetry(
670
737
  url,
671
738
  fetchOptions,
739
+ {
740
+ type: 'required',
741
+ consume: (response) => response.json() as Promise<PostHogV1FlagsResponse | PostHogV2FlagsResponse>,
742
+ },
672
743
  { retryCount: this.featureFlagsRequestMaxRetries, retryCheck: isRetryableFlagsFetchError },
673
744
  this.featureFlagsRequestTimeoutMs
674
745
  )
675
- .then((response) => response.json() as Promise<PostHogV1FlagsResponse | PostHogV2FlagsResponse>)
676
746
  .then((response) => ({ success: true as const, response: normalizeFlagsResponse(response) }))
677
747
  .catch((error): GetFlagsResult => {
678
748
  this._events.emit('error', error)
@@ -972,25 +1042,26 @@ export abstract class PostHogCoreStateless {
972
1042
  headers: { ...this.getCustomHeaders(), 'Content-Type': 'application/json' },
973
1043
  }
974
1044
 
975
- const response = await this.fetchWithRetry(url, fetchOptions)
976
- .then((response) => {
1045
+ const response = await this.fetchWithRetry(url, fetchOptions, {
1046
+ type: 'required',
1047
+ consume: (response) => {
977
1048
  if (response.status !== 200 || !response.json) {
978
1049
  const msg = `Surveys API could not be loaded: ${response.status}`
979
1050
  const error = new Error(msg)
980
1051
  this._logger.error(error)
981
1052
 
982
1053
  this._events.emit('error', new Error(msg))
983
- return undefined
1054
+ return Promise.resolve(undefined)
984
1055
  }
985
1056
 
986
1057
  return response.json() as Promise<SurveyResponse>
987
- })
988
- .catch((error) => {
989
- this._logger.error('Surveys API could not be loaded', error)
1058
+ },
1059
+ }).catch((error) => {
1060
+ this._logger.error('Surveys API could not be loaded', error)
990
1061
 
991
- this._events.emit('error', error)
992
- return undefined
993
- })
1062
+ this._events.emit('error', error)
1063
+ return undefined
1064
+ })
994
1065
 
995
1066
  const newSurveys = response?.surveys
996
1067
 
@@ -1394,11 +1465,10 @@ export abstract class PostHogCoreStateless {
1394
1465
  body: gzippedPayload || payload,
1395
1466
  }
1396
1467
 
1397
- const response = await this.fetchWithRetry(url, fetchOptions, retryOptions)
1398
- // Consume the response body to prevent cross-request promise warnings
1468
+ await this.fetchWithRetry(url, fetchOptions, { type: 'successful-write' }, retryOptions)
1469
+ // The response handler above cancels the body to prevent cross-request promise warnings
1399
1470
  // in runtimes like Cloudflare Workers that enforce body consumption.
1400
1471
  // See: https://github.com/PostHog/posthog-js/issues/3173
1401
- await response.body?.cancel()?.catch(() => {})
1402
1472
  }
1403
1473
 
1404
1474
  private async _flush(): Promise<void> {
@@ -1552,14 +1622,19 @@ export abstract class PostHogCoreStateless {
1552
1622
  }
1553
1623
 
1554
1624
  try {
1555
- await this.fetchWithRetry(url, fetchOptions, {
1556
- retryCheck: (err) => {
1557
- if (isPostHogFetchContentTooLargeError(err)) {
1558
- return false
1559
- }
1560
- return isPostHogFetchRetryableError(err)
1561
- },
1562
- })
1625
+ await this.fetchWithRetry(
1626
+ url,
1627
+ fetchOptions,
1628
+ { type: 'successful-write' },
1629
+ {
1630
+ retryCheck: (err) => {
1631
+ if (isPostHogFetchContentTooLargeError(err)) {
1632
+ return false
1633
+ }
1634
+ return isPostHogFetchRetryableError(err)
1635
+ },
1636
+ }
1637
+ )
1563
1638
  return { kind: 'ok' }
1564
1639
  } catch (err) {
1565
1640
  if (isPostHogFetchContentTooLargeError(err)) {
@@ -1598,14 +1673,19 @@ export abstract class PostHogCoreStateless {
1598
1673
  }
1599
1674
 
1600
1675
  try {
1601
- await this.fetchWithRetry(url, fetchOptions, {
1602
- retryCheck: (err) => {
1603
- if (isPostHogFetchContentTooLargeError(err)) {
1604
- return false
1605
- }
1606
- return isPostHogFetchRetryableError(err)
1607
- },
1608
- })
1676
+ await this.fetchWithRetry(
1677
+ url,
1678
+ fetchOptions,
1679
+ { type: 'successful-write' },
1680
+ {
1681
+ retryCheck: (err) => {
1682
+ if (isPostHogFetchContentTooLargeError(err)) {
1683
+ return false
1684
+ }
1685
+ return isPostHogFetchRetryableError(err)
1686
+ },
1687
+ }
1688
+ )
1609
1689
  return { kind: 'ok' }
1610
1690
  } catch (err) {
1611
1691
  if (isPostHogFetchContentTooLargeError(err)) {
@@ -1621,12 +1701,27 @@ export abstract class PostHogCoreStateless {
1621
1701
  }
1622
1702
  }
1623
1703
 
1624
- private async fetchWithRetry(
1704
+ private fetchWithRetry<T>(
1625
1705
  url: string,
1626
1706
  options: PostHogFetchOptions,
1707
+ responseHandling: RequiredResponseHandling<T>,
1627
1708
  retryOptions?: Partial<RetriableOptions>,
1628
1709
  requestTimeout?: number
1629
- ): Promise<PostHogFetchResponse> {
1710
+ ): Promise<T>
1711
+ private fetchWithRetry(
1712
+ url: string,
1713
+ options: PostHogFetchOptions,
1714
+ responseHandling: SuccessfulWriteResponseHandling,
1715
+ retryOptions?: Partial<RetriableOptions>,
1716
+ requestTimeout?: number
1717
+ ): Promise<void>
1718
+ private async fetchWithRetry<T>(
1719
+ url: string,
1720
+ options: PostHogFetchOptions,
1721
+ responseHandling: RequiredResponseHandling<T> | SuccessfulWriteResponseHandling,
1722
+ retryOptions?: Partial<RetriableOptions>,
1723
+ requestTimeout?: number
1724
+ ): Promise<T | void> {
1630
1725
  const body = options.body ? options.body : ''
1631
1726
  let reqByteLength = -1
1632
1727
  try {
@@ -1644,34 +1739,115 @@ export abstract class PostHogCoreStateless {
1644
1739
  }
1645
1740
  }
1646
1741
 
1742
+ const retriableOptions = { ...this._retryOptions, ...retryOptions }
1743
+ let attempt = 0
1744
+
1647
1745
  return await retriable(
1648
1746
  async () => {
1747
+ attempt++
1649
1748
  const ctrl = new AbortController()
1650
1749
  const timeoutMs = requestTimeout ?? this.requestTimeout
1651
- const timer = safeSetTimeout(() => ctrl.abort(), timeoutMs)
1750
+ const requestDeadline = Date.now() + timeoutMs
1751
+ let timer: ReturnType<typeof safeSetTimeout>
1752
+ // `fetch` is SDK-injectable, so it may ignore abort while resolving headers or
1753
+ // consuming the body. Race both phases against one request deadline rather than
1754
+ // relying only on standards-compliant AbortSignal behavior.
1755
+ const deadline = new Promise<never>((_resolve, reject) => {
1756
+ timer = safeSetTimeout(() => {
1757
+ const timeoutError = new Error(`Request timed out after ${timeoutMs}ms`)
1758
+ timeoutError.name = 'AbortError'
1759
+ // Reject first so this error wins if an abort-aware injected fetch rejects synchronously.
1760
+ reject(timeoutError)
1761
+ ctrl.abort(timeoutError)
1762
+ }, timeoutMs)
1763
+ })
1764
+
1765
+ let res: PostHogFetchResponse | undefined
1766
+ let responseAccepted = false
1767
+ let cancellation: Promise<void> | undefined
1768
+ const cancelBody = (): Promise<void> =>
1769
+ (cancellation ??= (async () => {
1770
+ try {
1771
+ await res?.body?.cancel()
1772
+ } catch {}
1773
+ })())
1652
1774
 
1653
- let res: PostHogFetchResponse | null = null
1654
1775
  try {
1655
- res = await this.fetch(url, {
1656
- signal: ctrl.signal,
1657
- ...options,
1658
- })
1659
- } catch (e) {
1660
- // fetch will only throw on network errors or on timeouts
1661
- throw new PostHogFetchNetworkError(e)
1776
+ let fetchPromise: Promise<PostHogFetchResponse>
1777
+ try {
1778
+ fetchPromise = this.fetch(url, {
1779
+ signal: ctrl.signal,
1780
+ ...options,
1781
+ })
1782
+ } catch (e) {
1783
+ throw new PostHogFetchNetworkError(e)
1784
+ }
1785
+ void fetchPromise
1786
+ .then((lateResponse) => {
1787
+ if (ctrl.signal.aborted && !responseAccepted) {
1788
+ // Release a late response from an injected fetch that ignored the header deadline.
1789
+ void Promise.resolve(lateResponse.body?.cancel()).catch(() => {})
1790
+ }
1791
+ })
1792
+ .catch(() => {})
1793
+
1794
+ try {
1795
+ res = await Promise.race([fetchPromise, deadline])
1796
+ responseAccepted = true
1797
+ } catch (e) {
1798
+ // Fetch only throws on network errors or timeouts. The explicit deadline also
1799
+ // reaches injected fetch implementations that ignore the abort signal.
1800
+ throw new PostHogFetchNetworkError(e)
1801
+ }
1802
+
1803
+ // If we're in no-cors mode, we can't access the response status.
1804
+ // We only throw on HTTP errors if we're not in no-cors mode.
1805
+ // https://developer.mozilla.org/en-US/docs/Web/API/Request/mode#no-cors
1806
+ const isNoCors = options.mode === 'no-cors'
1807
+ if (!isNoCors && (res.status < 200 || res.status >= 400)) {
1808
+ // Read error bodies lazily so retryable statuses are retried immediately. The
1809
+ // getter still uses this attempt's deadline when diagnostics request the body.
1810
+ throw new PostHogFetchHttpError(res, reqByteLength, requestDeadline, ctrl)
1811
+ }
1812
+
1813
+ if (responseHandling.type === 'successful-write') {
1814
+ try {
1815
+ await Promise.race([cancelBody(), deadline])
1816
+ } catch {
1817
+ // Once a write endpoint has returned success, a stalled body cancellation
1818
+ // must not retry the accepted payload. Cancellation was attempted for the
1819
+ // full remaining deadline and continues best-effort in `finally`.
1820
+ }
1821
+ return
1822
+ }
1823
+
1824
+ try {
1825
+ return await Promise.race([responseHandling.consume(res), deadline])
1826
+ } catch (e) {
1827
+ if (ctrl.signal.aborted) {
1828
+ throw new PostHogFetchNetworkError(e)
1829
+ }
1830
+ throw e
1831
+ }
1662
1832
  } finally {
1663
1833
  clearTimeout(timer)
1834
+ if (ctrl.signal.aborted && res) {
1835
+ // Do not await after the deadline: injected body cancellation may itself never settle.
1836
+ void cancelBody()
1837
+ }
1664
1838
  }
1665
- // If we're in no-cors mode, we can't access the response status
1666
- // We only throw on HTTP errors if we're not in no-cors mode
1667
- // https://developer.mozilla.org/en-US/docs/Web/API/Request/mode#no-cors
1668
- const isNoCors = options.mode === 'no-cors'
1669
- if (!isNoCors && (res.status < 200 || res.status >= 400)) {
1670
- throw new PostHogFetchHttpError(res, reqByteLength)
1671
- }
1672
- return res
1673
1839
  },
1674
- { ...this._retryOptions, ...retryOptions }
1840
+ {
1841
+ ...retriableOptions,
1842
+ retryCheck: (error) => {
1843
+ const shouldRetry = retriableOptions.retryCheck(error)
1844
+ if (shouldRetry && attempt <= retriableOptions.retryCount && error instanceof PostHogFetchHttpError) {
1845
+ // This response will not be surfaced, so release its body without delaying the retry.
1846
+ error.cancelResponseBody()
1847
+ }
1848
+ return shouldRetry
1849
+ },
1850
+ }
1675
1851
  )
1676
1852
  }
1677
1853