@posthog/core 1.22.0 → 1.23.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/posthog-core.d.ts +25 -1
- package/dist/posthog-core.d.ts.map +1 -1
- package/dist/posthog-core.js +47 -8
- package/dist/posthog-core.mjs +47 -8
- package/dist/types.d.ts +22 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/posthog-core.ts +71 -18
- package/src/types.ts +28 -0
package/dist/posthog-core.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import type { PostHogAutocaptureElement, PostHogFlagsResponse, PostHogFeatureFlagsResponse, PostHogCoreOptions, PostHogEventProperties, PostHogCaptureOptions, JsonType, PostHogRemoteConfig, FeatureFlagValue, FeatureFlagResult, FeatureFlagResultOptions, PostHogFeatureFlagDetails, PostHogGroupProperties } from './types';
|
|
2
2
|
import { PostHogPersistedProperty } from './types';
|
|
3
3
|
import { PostHogCoreStateless } from './posthog-core-stateless';
|
|
4
|
+
interface FlagsAsyncOptions {
|
|
5
|
+
sendAnonDistinctId?: boolean;
|
|
6
|
+
fetchConfig?: boolean;
|
|
7
|
+
triggerOnRemoteConfig?: boolean;
|
|
8
|
+
}
|
|
4
9
|
export declare abstract class PostHogCore extends PostHogCoreStateless {
|
|
5
10
|
private sendFeatureFlagEvent;
|
|
6
11
|
private flagCallReported;
|
|
@@ -86,7 +91,25 @@ export declare abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
86
91
|
/***
|
|
87
92
|
*** FEATURE FLAGS
|
|
88
93
|
***/
|
|
89
|
-
protected flagsAsync(
|
|
94
|
+
protected flagsAsync(options?: FlagsAsyncOptions): Promise<PostHogFeatureFlagsResponse | undefined>;
|
|
95
|
+
/**
|
|
96
|
+
* Called when remote config has been loaded (from either the remote config endpoint or the flags endpoint).
|
|
97
|
+
* Override in subclasses to react to remote config changes (e.g., gating error tracking, session replay features).
|
|
98
|
+
*
|
|
99
|
+
* The full response is passed so consumers can read whatever fields they need.
|
|
100
|
+
* This is called exactly once per remote config load cycle.
|
|
101
|
+
*
|
|
102
|
+
* @param _response The remote config or flags response containing config fields
|
|
103
|
+
*/
|
|
104
|
+
protected onRemoteConfig(_response: PostHogRemoteConfig): void;
|
|
105
|
+
/**
|
|
106
|
+
* Conditionally triggers onRemoteConfig if requested.
|
|
107
|
+
* Only _remoteConfigAsync passes triggerOnRemoteConfig=true to apply remote config values
|
|
108
|
+
* (errorTracking, capturePerformance, etc.) on initial load.
|
|
109
|
+
* User-triggered reloadFeatureFlags/reloadFeatureFlagsAsync don't set this,
|
|
110
|
+
* so they won't re-trigger onRemoteConfig or reinstall/uninstall integrations.
|
|
111
|
+
*/
|
|
112
|
+
private maybeNotifyRemoteConfig;
|
|
90
113
|
private cacheSessionReplay;
|
|
91
114
|
private _remoteConfigAsync;
|
|
92
115
|
private _flagsAsync;
|
|
@@ -300,4 +323,5 @@ export declare abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
300
323
|
*/
|
|
301
324
|
private _runBeforeSend;
|
|
302
325
|
}
|
|
326
|
+
export {};
|
|
303
327
|
//# sourceMappingURL=posthog-core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posthog-core.d.ts","sourceRoot":"","sources":["../src/posthog-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EAGxB,yBAAyB,EAKzB,sBAAsB,EAGvB,MAAM,SAAS,CAAA;AAYhB,OAAO,EAAiC,wBAAwB,EAAE,MAAM,SAAS,CAAA;AACjF,OAAO,EAAY,oBAAoB,EAAuB,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"posthog-core.d.ts","sourceRoot":"","sources":["../src/posthog-core.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,yBAAyB,EACzB,oBAAoB,EACpB,2BAA2B,EAC3B,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,wBAAwB,EAGxB,yBAAyB,EAKzB,sBAAsB,EAGvB,MAAM,SAAS,CAAA;AAYhB,OAAO,EAAiC,wBAAwB,EAAE,MAAM,SAAS,CAAA;AACjF,OAAO,EAAY,oBAAoB,EAAuB,MAAM,0BAA0B,CAAA;AAK9F,UAAU,iBAAiB;IACzB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAA;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC;AAOD,8BAAsB,WAAY,SAAQ,oBAAoB;IAE5D,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,gBAAgB,CAAiC;IACzD,OAAO,CAAC,WAAW,CAAC,CAA+B;IAGnD,SAAS,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC,CAAA;IAClF,SAAS,CAAC,6BAA6B,EAAE,MAAM,CAAA;IAC/C,OAAO,CAAC,wBAAwB,CAAuB;IACvD,SAAS,CAAC,YAAY,EAAE,sBAAsB,CAAK;IAInD,OAAO,CAAC,oBAAoB,CAAC,CAAqB;IAGlD,SAAS,CAAC,eAAe,EAAE,QAAQ,GAAG,iBAAiB,GAAG,OAAO,CAAA;IAGjE,SAAS,CAAC,uBAAuB,EAAE,MAAM,GAAG,IAAI,CAAO;gBAE3C,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB;IAexD,SAAS,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,IAAI;IAmDrE,OAAO,CAAC,UAAU;IAMlB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,GAAG,MAAM,IAAI;IAI3D,KAAK,CAAC,gBAAgB,CAAC,EAAE,wBAAwB,EAAE,GAAG,IAAI;IAoB1D,SAAS,CAAC,wBAAwB,IAAI,sBAAsB;IAgB5D,OAAO,CAAC,gBAAgB;IAUxB;;;;;;;;;;OAUG;IACH,YAAY,IAAI,MAAM;IAyBtB,cAAc,IAAI,IAAI;IAQtB;;;;;;;;;;;;;;;;;;OAkBG;IACH,cAAc,IAAI,MAAM;IAaxB;;OAEG;IACH,aAAa,IAAI,MAAM;IAQvB,kBAAkB,CAAC,UAAU,EAAE,sBAAsB,GAAG,IAAI;IAO5D,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAI5C;;SAEK;IAEL,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;IAkDzG,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,sBAAsB,EAAE,OAAO,CAAC,EAAE,qBAAqB,GAAG,IAAI;IA8BlG,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAa1B,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,yBAAyB,EAAE,EACrC,UAAU,GAAE,sBAA2B,EACvC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI;IAiBP;;SAEK;IAEL,MAAM,CAAC,MAAM,EAAE,sBAAsB,GAAG,IAAI;IAsB5C,KAAK,CACH,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,eAAe,CAAC,EAAE,sBAAsB,EACxC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI;IAYP,aAAa,CACX,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GAAG,MAAM,EACzB,eAAe,CAAC,EAAE,sBAAsB,EACxC,OAAO,CAAC,EAAE,qBAAqB,GAC9B,IAAI;IAYP;;SAEK;IACL,2BAA2B,CAAC,UAAU,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,EAAE,kBAAkB,UAAO,GAAG,IAAI;IAiBtG,6BAA6B,IAAI,IAAI;IAMrC,0BAA0B,CAAC,UAAU,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAAE,GAAG,IAAI;IAwBxF,4BAA4B,IAAI,IAAI;YAMtB,iBAAiB;IAQ/B;;SAEK;cACW,UAAU,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,2BAA2B,GAAG,SAAS,CAAC;IAmBzG;;;;;;;;OAQG;IAEH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI;IAI9D;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAU/B,OAAO,CAAC,kBAAkB;YAaZ,kBAAkB;YAiFlB,WAAW;IA4GzB,OAAO,CAAC,0BAA0B;IAQlC,OAAO,CAAC,0BAA0B;IAyBlC,OAAO,CAAC,oBAAoB;IAI5B,SAAS,CAAC,oBAAoB,IAAI,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS;IAQlF,OAAO,CAAC,iCAAiC;IAUzC,OAAO,CAAC,iCAAiC;IAIzC,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,kCAAkC;IAQ1C,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,wBAAwB,GAAG,iBAAiB,GAAG,SAAS;IAIpG,SAAS,CAAC,qBAAqB,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,GAAE;QACP;;WAEG;QACH,SAAS,CAAC,EAAE,OAAO,CAAA;QACnB;;;;;;WAMG;QACH,mBAAmB,CAAC,EAAE,gBAAgB,GAAG,uBAAuB,CAAA;KAC5D,GACL,iBAAiB,GAAG,SAAS;IAkFhC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS;IAKzD,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAKxD,sBAAsB,IAAI,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,SAAS;IAIjF,eAAe,IAAI,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS;IAMnE,qBAAqB,IAAI,yBAAyB,GAAG,SAAS;IAgC9D,0BAA0B,IAAI;QAC5B,KAAK,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAA;QACvD,QAAQ,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,GAAG,SAAS,CAAA;KAClE;IAUD,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IASlD,kBAAkB,CAAC,OAAO,CAAC,EAAE;QAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,oBAAoB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAA;KAAE,GAAG,IAAI;IAa1G,uBAAuB,IAAI,OAAO,CAAC,mBAAmB,GAAG,SAAS,CAAC;IAInE,uBAAuB,CAC3B,kBAAkB,CAAC,EAAE,OAAO,GAC3B,OAAO,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAI5D,cAAc,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,oBAAoB,CAAC,cAAc,CAAC,KAAK,IAAI,GAAG,MAAM,IAAI;IASrF,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,GAAG,MAAM,IAAI;IASvE,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,CAAC,cAAc,CAAC,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAS5F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA8BG;IACH,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,oBAAoB,CAAC,EAAE,sBAAsB,GAAG,IAAI;IAmBrF;;;;;;;;;OASG;IACH,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAO1E;;;;;;;;;;OAUG;IACH,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI;IAQ9G;;SAEK;IAEL;;;;;;;;;OASG;IACH,SAAS,CAAC,aAAa,IAAI,OAAO;IAuBlC;;;OAGG;IACH,SAAS,CAAC,UAAU,IAAI,sBAAsB;IAI9C;;;;;;;;;;;;OAYG;IACH,SAAS,CAAC,oBAAoB,IAAI,OAAO;IAmBzC;;;;;;;;;OASG;IACH,SAAS,CAAC,wBAAwB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAWjE;;;;;;;;OAQG;IACH,mBAAmB,IAAI,IAAI;IAa3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAmCG;IACH,mBAAmB,CACjB,mBAAmB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,EACjD,uBAAuB,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,CAAA;KAAE,EACrD,kBAAkB,UAAO,GACxB,IAAI;IAiCP;;;;;;;;OAQG;IACH,SAAS,CAAC,oBAAoB,CAAC,OAAO,EAAE,sBAAsB,GAAG,sBAAsB,GAAG,IAAI;IA+C9F;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;CAsBvB"}
|
package/dist/posthog-core.js
CHANGED
|
@@ -190,6 +190,7 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
190
190
|
});
|
|
191
191
|
}
|
|
192
192
|
capture(event, properties, options) {
|
|
193
|
+
if ('$exception' === event && !options?._originatedFromCaptureException) this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically.");
|
|
193
194
|
this.wrap(()=>{
|
|
194
195
|
const distinctId = this.getDistinctId();
|
|
195
196
|
if (properties?.$groups) this.groups(properties.$groups);
|
|
@@ -294,7 +295,8 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
294
295
|
if (this._remoteConfigResponsePromise) return this._remoteConfigResponsePromise;
|
|
295
296
|
return this._remoteConfigAsync();
|
|
296
297
|
}
|
|
297
|
-
async flagsAsync(
|
|
298
|
+
async flagsAsync(options) {
|
|
299
|
+
const { sendAnonDistinctId = true, fetchConfig = false, triggerOnRemoteConfig = false } = options ?? {};
|
|
298
300
|
await this._initPromise;
|
|
299
301
|
if (this._flagsResponsePromise) {
|
|
300
302
|
this._logger.info('Feature flags are being loaded already, queuing reload.');
|
|
@@ -303,12 +305,25 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
303
305
|
this._pendingFlagsRequest = {
|
|
304
306
|
sendAnonDistinctId,
|
|
305
307
|
fetchConfig,
|
|
308
|
+
triggerOnRemoteConfig,
|
|
306
309
|
resolve,
|
|
307
310
|
reject
|
|
308
311
|
};
|
|
309
312
|
});
|
|
310
313
|
}
|
|
311
|
-
return this._flagsAsync(
|
|
314
|
+
return this._flagsAsync({
|
|
315
|
+
sendAnonDistinctId,
|
|
316
|
+
fetchConfig,
|
|
317
|
+
triggerOnRemoteConfig
|
|
318
|
+
});
|
|
319
|
+
}
|
|
320
|
+
onRemoteConfig(_response) {}
|
|
321
|
+
maybeNotifyRemoteConfig(shouldTrigger, response) {
|
|
322
|
+
if (shouldTrigger) try {
|
|
323
|
+
this.onRemoteConfig(response);
|
|
324
|
+
} catch (e) {
|
|
325
|
+
this._logger.error('Error in onRemoteConfig callback:', e);
|
|
326
|
+
}
|
|
312
327
|
}
|
|
313
328
|
cacheSessionReplay(source, response) {
|
|
314
329
|
const sessionReplay = response?.sessionRecording;
|
|
@@ -344,13 +359,22 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
344
359
|
} else this.setPersistedProperty(external_types_js_namespaceObject.PostHogPersistedProperty.Surveys, null);
|
|
345
360
|
this.setPersistedProperty(external_types_js_namespaceObject.PostHogPersistedProperty.RemoteConfig, remoteConfigWithoutSurveys);
|
|
346
361
|
this.cacheSessionReplay('remote config', response);
|
|
362
|
+
let willLoadFlags = false;
|
|
347
363
|
if (false === response.hasFeatureFlags) {
|
|
348
364
|
this.setKnownFeatureFlagDetails({
|
|
349
365
|
flags: {}
|
|
350
366
|
});
|
|
351
367
|
this._logger.warn('Remote config has no feature flags, will not load feature flags.');
|
|
352
|
-
} else if (false !== this.preloadFeatureFlags)
|
|
368
|
+
} else if (false !== this.preloadFeatureFlags) {
|
|
369
|
+
willLoadFlags = true;
|
|
370
|
+
this.flagsAsync({
|
|
371
|
+
sendAnonDistinctId: true,
|
|
372
|
+
fetchConfig: true,
|
|
373
|
+
triggerOnRemoteConfig: true
|
|
374
|
+
});
|
|
375
|
+
}
|
|
353
376
|
if (!response.supportedCompression?.includes(external_types_js_namespaceObject.Compression.GZipJS)) this.disableCompression = true;
|
|
377
|
+
this.maybeNotifyRemoteConfig(!willLoadFlags, response);
|
|
354
378
|
remoteConfig = response;
|
|
355
379
|
}
|
|
356
380
|
return remoteConfig;
|
|
@@ -360,7 +384,10 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
360
384
|
});
|
|
361
385
|
return this._remoteConfigResponsePromise;
|
|
362
386
|
}
|
|
363
|
-
async _flagsAsync(
|
|
387
|
+
async _flagsAsync(options) {
|
|
388
|
+
const sendAnonDistinctId = options?.sendAnonDistinctId ?? true;
|
|
389
|
+
const fetchConfig = options?.fetchConfig ?? false;
|
|
390
|
+
const triggerOnRemoteConfig = options?.triggerOnRemoteConfig ?? false;
|
|
364
391
|
this._flagsResponsePromise = this._initPromise.then(async ()=>{
|
|
365
392
|
const distinctId = this.getDistinctId();
|
|
366
393
|
const groups = this.props.$groups || {};
|
|
@@ -381,6 +408,7 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
381
408
|
quotaLimited: res.quotaLimited
|
|
382
409
|
});
|
|
383
410
|
this._logger.warn('[FEATURE FLAGS] Feature flags quota limit exceeded. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts');
|
|
411
|
+
this.maybeNotifyRemoteConfig(triggerOnRemoteConfig, res);
|
|
384
412
|
return res;
|
|
385
413
|
}
|
|
386
414
|
if (res?.featureFlags) {
|
|
@@ -408,6 +436,7 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
408
436
|
});
|
|
409
437
|
this.setPersistedProperty(external_types_js_namespaceObject.PostHogPersistedProperty.FlagsEndpointWasHit, true);
|
|
410
438
|
this.cacheSessionReplay('flags', res);
|
|
439
|
+
this.maybeNotifyRemoteConfig(triggerOnRemoteConfig, res);
|
|
411
440
|
}
|
|
412
441
|
return res;
|
|
413
442
|
}).finally(()=>{
|
|
@@ -416,7 +445,11 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
416
445
|
if (pendingRequest) {
|
|
417
446
|
this._pendingFlagsRequest = void 0;
|
|
418
447
|
this._logger.info('Executing pending feature flags reload.');
|
|
419
|
-
this.flagsAsync(
|
|
448
|
+
this.flagsAsync({
|
|
449
|
+
sendAnonDistinctId: pendingRequest.sendAnonDistinctId,
|
|
450
|
+
fetchConfig: pendingRequest.fetchConfig,
|
|
451
|
+
triggerOnRemoteConfig: pendingRequest.triggerOnRemoteConfig
|
|
452
|
+
}).then(pendingRequest.resolve).catch(pendingRequest.reject);
|
|
420
453
|
}
|
|
421
454
|
});
|
|
422
455
|
return this._flagsResponsePromise;
|
|
@@ -581,7 +614,9 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
581
614
|
return !!response;
|
|
582
615
|
}
|
|
583
616
|
reloadFeatureFlags(options) {
|
|
584
|
-
this.flagsAsync(
|
|
617
|
+
this.flagsAsync({
|
|
618
|
+
sendAnonDistinctId: true
|
|
619
|
+
}).then((res)=>{
|
|
585
620
|
options?.cb?.(void 0, res?.featureFlags);
|
|
586
621
|
}).catch((e)=>{
|
|
587
622
|
options?.cb?.(e, void 0);
|
|
@@ -592,7 +627,9 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
592
627
|
return await this.remoteConfigAsync();
|
|
593
628
|
}
|
|
594
629
|
async reloadFeatureFlagsAsync(sendAnonDistinctId) {
|
|
595
|
-
return (await this.flagsAsync(
|
|
630
|
+
return (await this.flagsAsync({
|
|
631
|
+
sendAnonDistinctId: sendAnonDistinctId
|
|
632
|
+
}))?.featureFlags;
|
|
596
633
|
}
|
|
597
634
|
onFeatureFlags(cb) {
|
|
598
635
|
return this.on('featureflags', async ()=>{
|
|
@@ -627,7 +664,9 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
627
664
|
],
|
|
628
665
|
...additionalProperties
|
|
629
666
|
};
|
|
630
|
-
this.capture('$exception', properties
|
|
667
|
+
this.capture('$exception', properties, {
|
|
668
|
+
_originatedFromCaptureException: true
|
|
669
|
+
});
|
|
631
670
|
}
|
|
632
671
|
captureTraceFeedback(traceId, userFeedback) {
|
|
633
672
|
this.capture('$ai_feedback', {
|
package/dist/posthog-core.mjs
CHANGED
|
@@ -162,6 +162,7 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
162
162
|
});
|
|
163
163
|
}
|
|
164
164
|
capture(event, properties, options) {
|
|
165
|
+
if ('$exception' === event && !options?._originatedFromCaptureException) this._logger.warn("Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically.");
|
|
165
166
|
this.wrap(()=>{
|
|
166
167
|
const distinctId = this.getDistinctId();
|
|
167
168
|
if (properties?.$groups) this.groups(properties.$groups);
|
|
@@ -266,7 +267,8 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
266
267
|
if (this._remoteConfigResponsePromise) return this._remoteConfigResponsePromise;
|
|
267
268
|
return this._remoteConfigAsync();
|
|
268
269
|
}
|
|
269
|
-
async flagsAsync(
|
|
270
|
+
async flagsAsync(options) {
|
|
271
|
+
const { sendAnonDistinctId = true, fetchConfig = false, triggerOnRemoteConfig = false } = options ?? {};
|
|
270
272
|
await this._initPromise;
|
|
271
273
|
if (this._flagsResponsePromise) {
|
|
272
274
|
this._logger.info('Feature flags are being loaded already, queuing reload.');
|
|
@@ -275,12 +277,25 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
275
277
|
this._pendingFlagsRequest = {
|
|
276
278
|
sendAnonDistinctId,
|
|
277
279
|
fetchConfig,
|
|
280
|
+
triggerOnRemoteConfig,
|
|
278
281
|
resolve,
|
|
279
282
|
reject
|
|
280
283
|
};
|
|
281
284
|
});
|
|
282
285
|
}
|
|
283
|
-
return this._flagsAsync(
|
|
286
|
+
return this._flagsAsync({
|
|
287
|
+
sendAnonDistinctId,
|
|
288
|
+
fetchConfig,
|
|
289
|
+
triggerOnRemoteConfig
|
|
290
|
+
});
|
|
291
|
+
}
|
|
292
|
+
onRemoteConfig(_response) {}
|
|
293
|
+
maybeNotifyRemoteConfig(shouldTrigger, response) {
|
|
294
|
+
if (shouldTrigger) try {
|
|
295
|
+
this.onRemoteConfig(response);
|
|
296
|
+
} catch (e) {
|
|
297
|
+
this._logger.error('Error in onRemoteConfig callback:', e);
|
|
298
|
+
}
|
|
284
299
|
}
|
|
285
300
|
cacheSessionReplay(source, response) {
|
|
286
301
|
const sessionReplay = response?.sessionRecording;
|
|
@@ -316,13 +331,22 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
316
331
|
} else this.setPersistedProperty(PostHogPersistedProperty.Surveys, null);
|
|
317
332
|
this.setPersistedProperty(PostHogPersistedProperty.RemoteConfig, remoteConfigWithoutSurveys);
|
|
318
333
|
this.cacheSessionReplay('remote config', response);
|
|
334
|
+
let willLoadFlags = false;
|
|
319
335
|
if (false === response.hasFeatureFlags) {
|
|
320
336
|
this.setKnownFeatureFlagDetails({
|
|
321
337
|
flags: {}
|
|
322
338
|
});
|
|
323
339
|
this._logger.warn('Remote config has no feature flags, will not load feature flags.');
|
|
324
|
-
} else if (false !== this.preloadFeatureFlags)
|
|
340
|
+
} else if (false !== this.preloadFeatureFlags) {
|
|
341
|
+
willLoadFlags = true;
|
|
342
|
+
this.flagsAsync({
|
|
343
|
+
sendAnonDistinctId: true,
|
|
344
|
+
fetchConfig: true,
|
|
345
|
+
triggerOnRemoteConfig: true
|
|
346
|
+
});
|
|
347
|
+
}
|
|
325
348
|
if (!response.supportedCompression?.includes(Compression.GZipJS)) this.disableCompression = true;
|
|
349
|
+
this.maybeNotifyRemoteConfig(!willLoadFlags, response);
|
|
326
350
|
remoteConfig = response;
|
|
327
351
|
}
|
|
328
352
|
return remoteConfig;
|
|
@@ -332,7 +356,10 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
332
356
|
});
|
|
333
357
|
return this._remoteConfigResponsePromise;
|
|
334
358
|
}
|
|
335
|
-
async _flagsAsync(
|
|
359
|
+
async _flagsAsync(options) {
|
|
360
|
+
const sendAnonDistinctId = options?.sendAnonDistinctId ?? true;
|
|
361
|
+
const fetchConfig = options?.fetchConfig ?? false;
|
|
362
|
+
const triggerOnRemoteConfig = options?.triggerOnRemoteConfig ?? false;
|
|
336
363
|
this._flagsResponsePromise = this._initPromise.then(async ()=>{
|
|
337
364
|
const distinctId = this.getDistinctId();
|
|
338
365
|
const groups = this.props.$groups || {};
|
|
@@ -353,6 +380,7 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
353
380
|
quotaLimited: res.quotaLimited
|
|
354
381
|
});
|
|
355
382
|
this._logger.warn('[FEATURE FLAGS] Feature flags quota limit exceeded. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts');
|
|
383
|
+
this.maybeNotifyRemoteConfig(triggerOnRemoteConfig, res);
|
|
356
384
|
return res;
|
|
357
385
|
}
|
|
358
386
|
if (res?.featureFlags) {
|
|
@@ -380,6 +408,7 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
380
408
|
});
|
|
381
409
|
this.setPersistedProperty(PostHogPersistedProperty.FlagsEndpointWasHit, true);
|
|
382
410
|
this.cacheSessionReplay('flags', res);
|
|
411
|
+
this.maybeNotifyRemoteConfig(triggerOnRemoteConfig, res);
|
|
383
412
|
}
|
|
384
413
|
return res;
|
|
385
414
|
}).finally(()=>{
|
|
@@ -388,7 +417,11 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
388
417
|
if (pendingRequest) {
|
|
389
418
|
this._pendingFlagsRequest = void 0;
|
|
390
419
|
this._logger.info('Executing pending feature flags reload.');
|
|
391
|
-
this.flagsAsync(
|
|
420
|
+
this.flagsAsync({
|
|
421
|
+
sendAnonDistinctId: pendingRequest.sendAnonDistinctId,
|
|
422
|
+
fetchConfig: pendingRequest.fetchConfig,
|
|
423
|
+
triggerOnRemoteConfig: pendingRequest.triggerOnRemoteConfig
|
|
424
|
+
}).then(pendingRequest.resolve).catch(pendingRequest.reject);
|
|
392
425
|
}
|
|
393
426
|
});
|
|
394
427
|
return this._flagsResponsePromise;
|
|
@@ -553,7 +586,9 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
553
586
|
return !!response;
|
|
554
587
|
}
|
|
555
588
|
reloadFeatureFlags(options) {
|
|
556
|
-
this.flagsAsync(
|
|
589
|
+
this.flagsAsync({
|
|
590
|
+
sendAnonDistinctId: true
|
|
591
|
+
}).then((res)=>{
|
|
557
592
|
options?.cb?.(void 0, res?.featureFlags);
|
|
558
593
|
}).catch((e)=>{
|
|
559
594
|
options?.cb?.(e, void 0);
|
|
@@ -564,7 +599,9 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
564
599
|
return await this.remoteConfigAsync();
|
|
565
600
|
}
|
|
566
601
|
async reloadFeatureFlagsAsync(sendAnonDistinctId) {
|
|
567
|
-
return (await this.flagsAsync(
|
|
602
|
+
return (await this.flagsAsync({
|
|
603
|
+
sendAnonDistinctId: sendAnonDistinctId
|
|
604
|
+
}))?.featureFlags;
|
|
568
605
|
}
|
|
569
606
|
onFeatureFlags(cb) {
|
|
570
607
|
return this.on('featureflags', async ()=>{
|
|
@@ -599,7 +636,9 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
599
636
|
],
|
|
600
637
|
...additionalProperties
|
|
601
638
|
};
|
|
602
|
-
this.capture('$exception', properties
|
|
639
|
+
this.capture('$exception', properties, {
|
|
640
|
+
_originatedFromCaptureException: true
|
|
641
|
+
});
|
|
603
642
|
}
|
|
604
643
|
captureTraceFeedback(traceId, userFeedback) {
|
|
605
644
|
this.capture('$ai_feedback', {
|
package/dist/types.d.ts
CHANGED
|
@@ -161,6 +161,12 @@ export type PostHogCaptureOptions = {
|
|
|
161
161
|
/** If provided overrides the auto-generated timestamp */
|
|
162
162
|
timestamp?: Date;
|
|
163
163
|
disableGeoip?: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Internal flag set by captureException() to indicate this $exception
|
|
166
|
+
* event originated from the proper exception capture path. Used to warn users who call
|
|
167
|
+
* capture('$exception') directly.
|
|
168
|
+
*/
|
|
169
|
+
_originatedFromCaptureException?: boolean;
|
|
164
170
|
};
|
|
165
171
|
export type PostHogFetchResponse = {
|
|
166
172
|
status: number;
|
|
@@ -208,6 +214,22 @@ export type PostHogRemoteConfig = {
|
|
|
208
214
|
* Indicates if the team has any flags enabled (if not we don't need to load them)
|
|
209
215
|
*/
|
|
210
216
|
hasFeatureFlags?: boolean;
|
|
217
|
+
/**
|
|
218
|
+
* Error tracking remote config.
|
|
219
|
+
* Either a boolean (false = disabled) or a map with configuration.
|
|
220
|
+
* When a map, `autocaptureExceptions` (boolean) controls whether automatic exception capture is enabled remotely.
|
|
221
|
+
*/
|
|
222
|
+
errorTracking?: boolean | {
|
|
223
|
+
[key: string]: JsonType;
|
|
224
|
+
};
|
|
225
|
+
/**
|
|
226
|
+
* Capture performance remote config.
|
|
227
|
+
* Either a boolean (false = disabled) or a map with configuration.
|
|
228
|
+
* When a map, `network_timing` (boolean) controls whether network timing capture is enabled remotely.
|
|
229
|
+
*/
|
|
230
|
+
capturePerformance?: boolean | {
|
|
231
|
+
[key: string]: JsonType;
|
|
232
|
+
};
|
|
211
233
|
};
|
|
212
234
|
export type FeatureFlagValue = string | boolean;
|
|
213
235
|
/**
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/posthog-core.ts
CHANGED
|
@@ -38,9 +38,13 @@ import { uuidv7 } from './vendor/uuidv7'
|
|
|
38
38
|
import { isEmptyObject, isNullish, isPlainError, getPersonPropertiesHash, isObject } from './utils'
|
|
39
39
|
|
|
40
40
|
// Stores the parameters for a pending feature flags reload request
|
|
41
|
-
interface
|
|
42
|
-
sendAnonDistinctId
|
|
43
|
-
fetchConfig
|
|
41
|
+
interface FlagsAsyncOptions {
|
|
42
|
+
sendAnonDistinctId?: boolean
|
|
43
|
+
fetchConfig?: boolean
|
|
44
|
+
triggerOnRemoteConfig?: boolean
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
interface PendingFlagsRequest extends FlagsAsyncOptions {
|
|
44
48
|
resolve: (value: PostHogFeatureFlagsResponse | undefined) => void
|
|
45
49
|
reject: (reason?: unknown) => void
|
|
46
50
|
}
|
|
@@ -342,6 +346,12 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
342
346
|
}
|
|
343
347
|
|
|
344
348
|
capture(event: string, properties?: PostHogEventProperties, options?: PostHogCaptureOptions): void {
|
|
349
|
+
if (event === '$exception' && !options?._originatedFromCaptureException) {
|
|
350
|
+
this._logger.warn(
|
|
351
|
+
"Using `posthog.capture('$exception')` is unreliable because it does not attach required metadata. Use `posthog.captureException(error)` instead, which attaches required metadata automatically."
|
|
352
|
+
)
|
|
353
|
+
}
|
|
354
|
+
|
|
345
355
|
this.wrap(() => {
|
|
346
356
|
const distinctId = this.getDistinctId()
|
|
347
357
|
|
|
@@ -527,10 +537,8 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
527
537
|
/***
|
|
528
538
|
*** FEATURE FLAGS
|
|
529
539
|
***/
|
|
530
|
-
protected async flagsAsync(
|
|
531
|
-
sendAnonDistinctId
|
|
532
|
-
fetchConfig: boolean = true
|
|
533
|
-
): Promise<PostHogFeatureFlagsResponse | undefined> {
|
|
540
|
+
protected async flagsAsync(options?: FlagsAsyncOptions): Promise<PostHogFeatureFlagsResponse | undefined> {
|
|
541
|
+
const { sendAnonDistinctId = true, fetchConfig = false, triggerOnRemoteConfig = false } = options ?? {}
|
|
534
542
|
await this._initPromise
|
|
535
543
|
if (this._flagsResponsePromise) {
|
|
536
544
|
// Queue the reload request instead of dropping it
|
|
@@ -542,10 +550,41 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
542
550
|
}
|
|
543
551
|
// Return a promise that resolves when the pending request completes
|
|
544
552
|
return new Promise((resolve, reject) => {
|
|
545
|
-
this._pendingFlagsRequest = { sendAnonDistinctId, fetchConfig, resolve, reject }
|
|
553
|
+
this._pendingFlagsRequest = { sendAnonDistinctId, fetchConfig, triggerOnRemoteConfig, resolve, reject }
|
|
546
554
|
})
|
|
547
555
|
}
|
|
548
|
-
return this._flagsAsync(sendAnonDistinctId, fetchConfig)
|
|
556
|
+
return this._flagsAsync({ sendAnonDistinctId, fetchConfig, triggerOnRemoteConfig })
|
|
557
|
+
}
|
|
558
|
+
|
|
559
|
+
/**
|
|
560
|
+
* Called when remote config has been loaded (from either the remote config endpoint or the flags endpoint).
|
|
561
|
+
* Override in subclasses to react to remote config changes (e.g., gating error tracking, session replay features).
|
|
562
|
+
*
|
|
563
|
+
* The full response is passed so consumers can read whatever fields they need.
|
|
564
|
+
* This is called exactly once per remote config load cycle.
|
|
565
|
+
*
|
|
566
|
+
* @param _response The remote config or flags response containing config fields
|
|
567
|
+
*/
|
|
568
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
569
|
+
protected onRemoteConfig(_response: PostHogRemoteConfig): void {
|
|
570
|
+
// Override in subclasses
|
|
571
|
+
}
|
|
572
|
+
|
|
573
|
+
/**
|
|
574
|
+
* Conditionally triggers onRemoteConfig if requested.
|
|
575
|
+
* Only _remoteConfigAsync passes triggerOnRemoteConfig=true to apply remote config values
|
|
576
|
+
* (errorTracking, capturePerformance, etc.) on initial load.
|
|
577
|
+
* User-triggered reloadFeatureFlags/reloadFeatureFlagsAsync don't set this,
|
|
578
|
+
* so they won't re-trigger onRemoteConfig or reinstall/uninstall integrations.
|
|
579
|
+
*/
|
|
580
|
+
private maybeNotifyRemoteConfig(shouldTrigger: boolean, response: PostHogRemoteConfig): void {
|
|
581
|
+
if (shouldTrigger) {
|
|
582
|
+
try {
|
|
583
|
+
this.onRemoteConfig(response)
|
|
584
|
+
} catch (e) {
|
|
585
|
+
this._logger.error('Error in onRemoteConfig callback:', e)
|
|
586
|
+
}
|
|
587
|
+
}
|
|
549
588
|
}
|
|
550
589
|
|
|
551
590
|
private cacheSessionReplay(source: string, response?: PostHogRemoteConfig): void {
|
|
@@ -610,19 +649,26 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
610
649
|
this.cacheSessionReplay('remote config', response)
|
|
611
650
|
|
|
612
651
|
// we only dont load flags if the remote config has no feature flags
|
|
652
|
+
let willLoadFlags = false
|
|
613
653
|
if (response.hasFeatureFlags === false) {
|
|
614
654
|
// resetting flags to empty object
|
|
615
655
|
this.setKnownFeatureFlagDetails({ flags: {} })
|
|
616
656
|
|
|
617
657
|
this._logger.warn('Remote config has no feature flags, will not load feature flags.')
|
|
618
658
|
} else if (this.preloadFeatureFlags !== false) {
|
|
619
|
-
|
|
659
|
+
willLoadFlags = true
|
|
660
|
+
this.flagsAsync({ sendAnonDistinctId: true, fetchConfig: true, triggerOnRemoteConfig: true })
|
|
620
661
|
}
|
|
621
662
|
|
|
622
663
|
if (!response.supportedCompression?.includes(Compression.GZipJS)) {
|
|
623
664
|
this.disableCompression = true
|
|
624
665
|
}
|
|
625
666
|
|
|
667
|
+
// Notify onRemoteConfig only if flags won't be loaded.
|
|
668
|
+
// When flags will be loaded, _flagsAsync will call onRemoteConfig instead
|
|
669
|
+
// (via triggerOnRemoteConfig=true), ensuring it fires exactly once.
|
|
670
|
+
this.maybeNotifyRemoteConfig(!willLoadFlags, response)
|
|
671
|
+
|
|
626
672
|
remoteConfig = response
|
|
627
673
|
}
|
|
628
674
|
|
|
@@ -635,10 +681,10 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
635
681
|
return this._remoteConfigResponsePromise
|
|
636
682
|
}
|
|
637
683
|
|
|
638
|
-
private async _flagsAsync(
|
|
639
|
-
sendAnonDistinctId
|
|
640
|
-
fetchConfig
|
|
641
|
-
|
|
684
|
+
private async _flagsAsync(options?: FlagsAsyncOptions): Promise<PostHogFeatureFlagsResponse | undefined> {
|
|
685
|
+
const sendAnonDistinctId = options?.sendAnonDistinctId ?? true
|
|
686
|
+
const fetchConfig = options?.fetchConfig ?? false
|
|
687
|
+
const triggerOnRemoteConfig = options?.triggerOnRemoteConfig ?? false
|
|
642
688
|
this._flagsResponsePromise = this._initPromise
|
|
643
689
|
.then(async () => {
|
|
644
690
|
const distinctId = this.getDistinctId()
|
|
@@ -680,6 +726,7 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
680
726
|
this._logger.warn(
|
|
681
727
|
'[FEATURE FLAGS] Feature flags quota limit exceeded. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts'
|
|
682
728
|
)
|
|
729
|
+
this.maybeNotifyRemoteConfig(triggerOnRemoteConfig, res)
|
|
683
730
|
return res
|
|
684
731
|
}
|
|
685
732
|
if (res?.featureFlags) {
|
|
@@ -716,6 +763,8 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
716
763
|
// Mark that we hit the /flags endpoint so we can capture this in the $feature_flag_called event
|
|
717
764
|
this.setPersistedProperty(PostHogPersistedProperty.FlagsEndpointWasHit, true)
|
|
718
765
|
this.cacheSessionReplay('flags', res)
|
|
766
|
+
|
|
767
|
+
this.maybeNotifyRemoteConfig(triggerOnRemoteConfig, res)
|
|
719
768
|
}
|
|
720
769
|
return res
|
|
721
770
|
})
|
|
@@ -728,7 +777,11 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
728
777
|
this._pendingFlagsRequest = undefined
|
|
729
778
|
this._logger.info('Executing pending feature flags reload.')
|
|
730
779
|
// Execute the pending request and resolve its promise with the result
|
|
731
|
-
this.flagsAsync(
|
|
780
|
+
this.flagsAsync({
|
|
781
|
+
sendAnonDistinctId: pendingRequest.sendAnonDistinctId,
|
|
782
|
+
fetchConfig: pendingRequest.fetchConfig,
|
|
783
|
+
triggerOnRemoteConfig: pendingRequest.triggerOnRemoteConfig,
|
|
784
|
+
})
|
|
732
785
|
.then(pendingRequest.resolve)
|
|
733
786
|
.catch(pendingRequest.reject)
|
|
734
787
|
}
|
|
@@ -988,7 +1041,7 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
988
1041
|
|
|
989
1042
|
// Used when we want to trigger the reload but we don't care about the result
|
|
990
1043
|
reloadFeatureFlags(options?: { cb?: (err?: Error, flags?: PostHogFlagsResponse['featureFlags']) => void }): void {
|
|
991
|
-
this.flagsAsync(true)
|
|
1044
|
+
this.flagsAsync({ sendAnonDistinctId: true })
|
|
992
1045
|
.then((res) => {
|
|
993
1046
|
options?.cb?.(undefined, res?.featureFlags)
|
|
994
1047
|
})
|
|
@@ -1007,7 +1060,7 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
1007
1060
|
async reloadFeatureFlagsAsync(
|
|
1008
1061
|
sendAnonDistinctId?: boolean
|
|
1009
1062
|
): Promise<PostHogFlagsResponse['featureFlags'] | undefined> {
|
|
1010
|
-
return (await this.flagsAsync(sendAnonDistinctId
|
|
1063
|
+
return (await this.flagsAsync({ sendAnonDistinctId: sendAnonDistinctId }))?.featureFlags
|
|
1011
1064
|
}
|
|
1012
1065
|
|
|
1013
1066
|
onFeatureFlags(cb: (flags: PostHogFlagsResponse['featureFlags']) => void): () => void {
|
|
@@ -1084,7 +1137,7 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
1084
1137
|
...additionalProperties,
|
|
1085
1138
|
}
|
|
1086
1139
|
|
|
1087
|
-
this.capture('$exception', properties)
|
|
1140
|
+
this.capture('$exception', properties, { _originatedFromCaptureException: true })
|
|
1088
1141
|
}
|
|
1089
1142
|
|
|
1090
1143
|
/**
|
package/src/types.ts
CHANGED
|
@@ -165,6 +165,12 @@ export type PostHogCaptureOptions = {
|
|
|
165
165
|
/** If provided overrides the auto-generated timestamp */
|
|
166
166
|
timestamp?: Date
|
|
167
167
|
disableGeoip?: boolean
|
|
168
|
+
/**
|
|
169
|
+
* Internal flag set by captureException() to indicate this $exception
|
|
170
|
+
* event originated from the proper exception capture path. Used to warn users who call
|
|
171
|
+
* capture('$exception') directly.
|
|
172
|
+
*/
|
|
173
|
+
_originatedFromCaptureException?: boolean
|
|
168
174
|
}
|
|
169
175
|
|
|
170
176
|
export type PostHogFetchResponse = {
|
|
@@ -225,6 +231,28 @@ export type PostHogRemoteConfig = {
|
|
|
225
231
|
* Indicates if the team has any flags enabled (if not we don't need to load them)
|
|
226
232
|
*/
|
|
227
233
|
hasFeatureFlags?: boolean
|
|
234
|
+
|
|
235
|
+
/**
|
|
236
|
+
* Error tracking remote config.
|
|
237
|
+
* Either a boolean (false = disabled) or a map with configuration.
|
|
238
|
+
* When a map, `autocaptureExceptions` (boolean) controls whether automatic exception capture is enabled remotely.
|
|
239
|
+
*/
|
|
240
|
+
errorTracking?:
|
|
241
|
+
| boolean
|
|
242
|
+
| {
|
|
243
|
+
[key: string]: JsonType
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
/**
|
|
247
|
+
* Capture performance remote config.
|
|
248
|
+
* Either a boolean (false = disabled) or a map with configuration.
|
|
249
|
+
* When a map, `network_timing` (boolean) controls whether network timing capture is enabled remotely.
|
|
250
|
+
*/
|
|
251
|
+
capturePerformance?:
|
|
252
|
+
| boolean
|
|
253
|
+
| {
|
|
254
|
+
[key: string]: JsonType
|
|
255
|
+
}
|
|
228
256
|
}
|
|
229
257
|
|
|
230
258
|
export type FeatureFlagValue = string | boolean
|