@posthog/core 1.37.2 → 1.37.3
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 +1 -0
- package/dist/posthog-core.d.ts.map +1 -1
- package/dist/posthog-core.js +10 -4
- package/dist/posthog-core.mjs +10 -4
- package/package.json +1 -1
- package/src/posthog-core.ts +12 -11
package/dist/posthog-core.d.ts
CHANGED
|
@@ -34,6 +34,7 @@ export declare abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
34
34
|
* @param propertiesToKeep - Optional array of persisted properties to preserve during reset.
|
|
35
35
|
*/
|
|
36
36
|
reset(propertiesToKeep?: PostHogPersistedProperty[]): void;
|
|
37
|
+
_shutdown(shutdownTimeoutMs?: number): Promise<void>;
|
|
37
38
|
protected getCommonEventProperties(): PostHogEventProperties;
|
|
38
39
|
private enrichProperties;
|
|
39
40
|
/**
|
|
@@ -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;AAG9F,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C,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,yBAAyB,CAAS;IAC1C,OAAO,CAAC,gBAAgB,
|
|
1
|
+
{"version":3,"file":"posthog-core.d.ts","sourceRoot":"","sources":["../src/posthog-core.ts"],"names":[],"mappings":"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"}
|
package/dist/posthog-core.js
CHANGED
|
@@ -105,6 +105,13 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
105
105
|
} else this.reloadFeatureFlags();
|
|
106
106
|
});
|
|
107
107
|
}
|
|
108
|
+
async _shutdown(shutdownTimeoutMs = 30000) {
|
|
109
|
+
try {
|
|
110
|
+
return await super._shutdown(shutdownTimeoutMs);
|
|
111
|
+
} finally{
|
|
112
|
+
this.flagCallReported = {};
|
|
113
|
+
}
|
|
114
|
+
}
|
|
108
115
|
getCommonEventProperties() {
|
|
109
116
|
const featureFlags = this.getFeatureFlags();
|
|
110
117
|
const featureVariantProperties = {};
|
|
@@ -445,7 +452,6 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
445
452
|
this.maybeNotifyRemoteConfig(triggerOnRemoteConfig, res);
|
|
446
453
|
return res;
|
|
447
454
|
}
|
|
448
|
-
if (this.sendFeatureFlagEvent) this.flagCallReported = {};
|
|
449
455
|
let newFeatureFlagDetails = res;
|
|
450
456
|
if (res.errorsWhileComputingFlags) {
|
|
451
457
|
const currentFlagDetails = this.getKnownFeatureFlagDetails();
|
|
@@ -537,8 +543,8 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
537
543
|
const details = this.getFeatureFlagDetails();
|
|
538
544
|
const isQuotaLimited = storedDetails?.quotaLimited?.includes(external_posthog_core_stateless_js_namespaceObject.QuotaLimitedFeature.FeatureFlags);
|
|
539
545
|
const featureFlag = details?.flags[key];
|
|
540
|
-
const sendEvent = (options.sendEvent ?? this.sendFeatureFlagEvent) && !this.flagCallReported[key];
|
|
541
546
|
const flagValue = (0, external_featureFlagUtils_js_namespaceObject.getFeatureFlagValue)(featureFlag);
|
|
547
|
+
const sendEvent = (options.sendEvent ?? this.sendFeatureFlagEvent) && !this.flagCallReported[key]?.has(flagValue);
|
|
542
548
|
if (sendEvent) {
|
|
543
549
|
const errors = [];
|
|
544
550
|
if (storedDetails?.requestError) {
|
|
@@ -555,7 +561,8 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
555
561
|
const bootstrappedResponse = this.getBootstrappedFeatureFlags()?.[key];
|
|
556
562
|
const bootstrappedPayload = this.getBootstrappedFeatureFlagPayloads()?.[key];
|
|
557
563
|
const featureFlagError = errors.length > 0 ? errors.join(',') : void 0;
|
|
558
|
-
this.flagCallReported[key] =
|
|
564
|
+
this.flagCallReported[key] = this.flagCallReported[key] ?? new Set();
|
|
565
|
+
this.flagCallReported[key].add(flagValue);
|
|
559
566
|
const properties = {
|
|
560
567
|
$feature_flag: key,
|
|
561
568
|
$feature_flag_response: flagValue,
|
|
@@ -728,7 +735,6 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
728
735
|
}
|
|
729
736
|
};
|
|
730
737
|
}
|
|
731
|
-
if (this.sendFeatureFlagEvent) this.flagCallReported = {};
|
|
732
738
|
this.setKnownFeatureFlagDetails({
|
|
733
739
|
flags: flagDetails
|
|
734
740
|
});
|
package/dist/posthog-core.mjs
CHANGED
|
@@ -77,6 +77,13 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
77
77
|
} else this.reloadFeatureFlags();
|
|
78
78
|
});
|
|
79
79
|
}
|
|
80
|
+
async _shutdown(shutdownTimeoutMs = 30000) {
|
|
81
|
+
try {
|
|
82
|
+
return await super._shutdown(shutdownTimeoutMs);
|
|
83
|
+
} finally{
|
|
84
|
+
this.flagCallReported = {};
|
|
85
|
+
}
|
|
86
|
+
}
|
|
80
87
|
getCommonEventProperties() {
|
|
81
88
|
const featureFlags = this.getFeatureFlags();
|
|
82
89
|
const featureVariantProperties = {};
|
|
@@ -417,7 +424,6 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
417
424
|
this.maybeNotifyRemoteConfig(triggerOnRemoteConfig, res);
|
|
418
425
|
return res;
|
|
419
426
|
}
|
|
420
|
-
if (this.sendFeatureFlagEvent) this.flagCallReported = {};
|
|
421
427
|
let newFeatureFlagDetails = res;
|
|
422
428
|
if (res.errorsWhileComputingFlags) {
|
|
423
429
|
const currentFlagDetails = this.getKnownFeatureFlagDetails();
|
|
@@ -509,8 +515,8 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
509
515
|
const details = this.getFeatureFlagDetails();
|
|
510
516
|
const isQuotaLimited = storedDetails?.quotaLimited?.includes(QuotaLimitedFeature.FeatureFlags);
|
|
511
517
|
const featureFlag = details?.flags[key];
|
|
512
|
-
const sendEvent = (options.sendEvent ?? this.sendFeatureFlagEvent) && !this.flagCallReported[key];
|
|
513
518
|
const flagValue = getFeatureFlagValue(featureFlag);
|
|
519
|
+
const sendEvent = (options.sendEvent ?? this.sendFeatureFlagEvent) && !this.flagCallReported[key]?.has(flagValue);
|
|
514
520
|
if (sendEvent) {
|
|
515
521
|
const errors = [];
|
|
516
522
|
if (storedDetails?.requestError) {
|
|
@@ -527,7 +533,8 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
527
533
|
const bootstrappedResponse = this.getBootstrappedFeatureFlags()?.[key];
|
|
528
534
|
const bootstrappedPayload = this.getBootstrappedFeatureFlagPayloads()?.[key];
|
|
529
535
|
const featureFlagError = errors.length > 0 ? errors.join(',') : void 0;
|
|
530
|
-
this.flagCallReported[key] =
|
|
536
|
+
this.flagCallReported[key] = this.flagCallReported[key] ?? new Set();
|
|
537
|
+
this.flagCallReported[key].add(flagValue);
|
|
531
538
|
const properties = {
|
|
532
539
|
$feature_flag: key,
|
|
533
540
|
$feature_flag_response: flagValue,
|
|
@@ -700,7 +707,6 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
700
707
|
}
|
|
701
708
|
};
|
|
702
709
|
}
|
|
703
|
-
if (this.sendFeatureFlagEvent) this.flagCallReported = {};
|
|
704
710
|
this.setKnownFeatureFlagDetails({
|
|
705
711
|
flags: flagDetails
|
|
706
712
|
});
|
package/package.json
CHANGED
package/src/posthog-core.ts
CHANGED
|
@@ -54,7 +54,7 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
54
54
|
// options
|
|
55
55
|
private sendFeatureFlagEvent: boolean
|
|
56
56
|
private disableRemoteFeatureFlags: boolean
|
|
57
|
-
private flagCallReported: { [key: string]:
|
|
57
|
+
private flagCallReported: { [key: string]: Set<FeatureFlagValue | undefined> } = {}
|
|
58
58
|
private _beforeSend?: BeforeSendFn | BeforeSendFn[]
|
|
59
59
|
|
|
60
60
|
// internal
|
|
@@ -194,6 +194,14 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
194
194
|
})
|
|
195
195
|
}
|
|
196
196
|
|
|
197
|
+
async _shutdown(shutdownTimeoutMs: number = 30000): Promise<void> {
|
|
198
|
+
try {
|
|
199
|
+
return await super._shutdown(shutdownTimeoutMs)
|
|
200
|
+
} finally {
|
|
201
|
+
this.flagCallReported = {}
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
197
205
|
protected getCommonEventProperties(): PostHogEventProperties {
|
|
198
206
|
const featureFlags = this.getFeatureFlags()
|
|
199
207
|
|
|
@@ -808,11 +816,6 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
808
816
|
return res
|
|
809
817
|
}
|
|
810
818
|
|
|
811
|
-
// clear flag call reported if we have new flags since they might have changed
|
|
812
|
-
if (this.sendFeatureFlagEvent) {
|
|
813
|
-
this.flagCallReported = {}
|
|
814
|
-
}
|
|
815
|
-
|
|
816
819
|
let newFeatureFlagDetails = res
|
|
817
820
|
if (res.errorsWhileComputingFlags) {
|
|
818
821
|
// if not all flags were computed, we upsert flags instead of replacing them
|
|
@@ -970,8 +973,8 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
970
973
|
const details = this.getFeatureFlagDetails()
|
|
971
974
|
const isQuotaLimited = storedDetails?.quotaLimited?.includes(QuotaLimitedFeature.FeatureFlags)
|
|
972
975
|
const featureFlag = details?.flags[key]
|
|
973
|
-
const sendEvent = (options.sendEvent ?? this.sendFeatureFlagEvent) && !this.flagCallReported[key]
|
|
974
976
|
const flagValue: FeatureFlagValue | undefined = getFeatureFlagValue(featureFlag)
|
|
977
|
+
const sendEvent = (options.sendEvent ?? this.sendFeatureFlagEvent) && !this.flagCallReported[key]?.has(flagValue)
|
|
975
978
|
|
|
976
979
|
if (sendEvent) {
|
|
977
980
|
const errors: string[] = []
|
|
@@ -1003,7 +1006,8 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
1003
1006
|
const bootstrappedPayload = this.getBootstrappedFeatureFlagPayloads()?.[key]
|
|
1004
1007
|
const featureFlagError = errors.length > 0 ? errors.join(',') : undefined
|
|
1005
1008
|
|
|
1006
|
-
this.flagCallReported[key] =
|
|
1009
|
+
this.flagCallReported[key] = this.flagCallReported[key] ?? new Set()
|
|
1010
|
+
this.flagCallReported[key].add(flagValue)
|
|
1007
1011
|
|
|
1008
1012
|
const properties: Record<string, any> = {
|
|
1009
1013
|
$feature_flag: key,
|
|
@@ -1245,9 +1249,6 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
1245
1249
|
}
|
|
1246
1250
|
}
|
|
1247
1251
|
|
|
1248
|
-
if (this.sendFeatureFlagEvent) {
|
|
1249
|
-
this.flagCallReported = {}
|
|
1250
|
-
}
|
|
1251
1252
|
this.setKnownFeatureFlagDetails({ flags: flagDetails })
|
|
1252
1253
|
})
|
|
1253
1254
|
}
|