@posthog/core 1.48.7 → 1.48.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.
- package/dist/posthog-core.d.ts.map +1 -1
- package/dist/posthog-core.js +12 -7
- package/dist/posthog-core.mjs +12 -7
- package/package.json +1 -1
- package/src/posthog-core.ts +19 -12
|
@@ -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,EACxB,uBAAuB,EAGvB,yBAAyB,EAKzB,sBAAsB,EAGvB,MAAM,SAAS,CAAA;AAahB,OAAO,EAAiC,wBAAwB,EAAE,MAAM,SAAS,CAAA;AACjF,OAAO,EAGL,oBAAoB,EAErB,MAAM,0BAA0B,CAAA;AAGjC,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;
|
|
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
|
@@ -349,14 +349,19 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
349
349
|
if (this.disableRemoteFeatureFlags && !fetchConfig) return void this._logger.info('Feature flags are disabled (disableRemoteFeatureFlags), skipping reload.');
|
|
350
350
|
if (this._flagsResponsePromise) {
|
|
351
351
|
this._logger.info('Feature flags are being loaded already, queuing reload.');
|
|
352
|
-
|
|
352
|
+
const pending = this._pendingFlagsRequest;
|
|
353
353
|
return new Promise((resolve, reject)=>{
|
|
354
354
|
this._pendingFlagsRequest = {
|
|
355
|
-
sendAnonDistinctId,
|
|
356
|
-
fetchConfig,
|
|
357
|
-
triggerOnRemoteConfig,
|
|
358
|
-
|
|
359
|
-
|
|
355
|
+
sendAnonDistinctId: sendAnonDistinctId || !!pending?.sendAnonDistinctId,
|
|
356
|
+
fetchConfig: fetchConfig || !!pending?.fetchConfig,
|
|
357
|
+
triggerOnRemoteConfig: triggerOnRemoteConfig || !!pending?.triggerOnRemoteConfig,
|
|
358
|
+
waiters: [
|
|
359
|
+
...pending?.waiters ?? [],
|
|
360
|
+
{
|
|
361
|
+
resolve,
|
|
362
|
+
reject
|
|
363
|
+
}
|
|
364
|
+
]
|
|
360
365
|
};
|
|
361
366
|
});
|
|
362
367
|
}
|
|
@@ -513,7 +518,7 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
513
518
|
sendAnonDistinctId: pendingRequest.sendAnonDistinctId,
|
|
514
519
|
fetchConfig: pendingRequest.fetchConfig,
|
|
515
520
|
triggerOnRemoteConfig: pendingRequest.triggerOnRemoteConfig
|
|
516
|
-
}).then(pendingRequest.resolve).catch(pendingRequest.reject);
|
|
521
|
+
}).then((res)=>pendingRequest.waiters.forEach((w)=>w.resolve(res))).catch((e)=>pendingRequest.waiters.forEach((w)=>w.reject(e)));
|
|
517
522
|
}
|
|
518
523
|
});
|
|
519
524
|
return this._flagsResponsePromise;
|
package/dist/posthog-core.mjs
CHANGED
|
@@ -321,14 +321,19 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
321
321
|
if (this.disableRemoteFeatureFlags && !fetchConfig) return void this._logger.info('Feature flags are disabled (disableRemoteFeatureFlags), skipping reload.');
|
|
322
322
|
if (this._flagsResponsePromise) {
|
|
323
323
|
this._logger.info('Feature flags are being loaded already, queuing reload.');
|
|
324
|
-
|
|
324
|
+
const pending = this._pendingFlagsRequest;
|
|
325
325
|
return new Promise((resolve, reject)=>{
|
|
326
326
|
this._pendingFlagsRequest = {
|
|
327
|
-
sendAnonDistinctId,
|
|
328
|
-
fetchConfig,
|
|
329
|
-
triggerOnRemoteConfig,
|
|
330
|
-
|
|
331
|
-
|
|
327
|
+
sendAnonDistinctId: sendAnonDistinctId || !!pending?.sendAnonDistinctId,
|
|
328
|
+
fetchConfig: fetchConfig || !!pending?.fetchConfig,
|
|
329
|
+
triggerOnRemoteConfig: triggerOnRemoteConfig || !!pending?.triggerOnRemoteConfig,
|
|
330
|
+
waiters: [
|
|
331
|
+
...pending?.waiters ?? [],
|
|
332
|
+
{
|
|
333
|
+
resolve,
|
|
334
|
+
reject
|
|
335
|
+
}
|
|
336
|
+
]
|
|
332
337
|
};
|
|
333
338
|
});
|
|
334
339
|
}
|
|
@@ -485,7 +490,7 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
485
490
|
sendAnonDistinctId: pendingRequest.sendAnonDistinctId,
|
|
486
491
|
fetchConfig: pendingRequest.fetchConfig,
|
|
487
492
|
triggerOnRemoteConfig: pendingRequest.triggerOnRemoteConfig
|
|
488
|
-
}).then(pendingRequest.resolve).catch(pendingRequest.reject);
|
|
493
|
+
}).then((res)=>pendingRequest.waiters.forEach((w)=>w.resolve(res))).catch((e)=>pendingRequest.waiters.forEach((w)=>w.reject(e)));
|
|
489
494
|
}
|
|
490
495
|
});
|
|
491
496
|
return this._flagsResponsePromise;
|
package/package.json
CHANGED
package/src/posthog-core.ts
CHANGED
|
@@ -53,8 +53,11 @@ interface FlagsAsyncOptions {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
interface PendingFlagsRequest extends FlagsAsyncOptions {
|
|
56
|
-
|
|
57
|
-
|
|
56
|
+
// every caller displaced from this slot, so none is settled against a request it did not make
|
|
57
|
+
waiters: {
|
|
58
|
+
resolve: (value: PostHogFeatureFlagsResponse | undefined) => void
|
|
59
|
+
reject: (reason?: unknown) => void
|
|
60
|
+
}[]
|
|
58
61
|
}
|
|
59
62
|
|
|
60
63
|
export abstract class PostHogCore extends PostHogCoreStateless {
|
|
@@ -651,16 +654,20 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
651
654
|
return undefined
|
|
652
655
|
}
|
|
653
656
|
if (this._flagsResponsePromise) {
|
|
654
|
-
// Queue
|
|
655
|
-
//
|
|
657
|
+
// Queue rather than drop, so an identity-changing reload still reaches the server. Displaced
|
|
658
|
+
// callers are carried over rather than settled against the in-flight request: that request
|
|
659
|
+
// was issued before their context changed, so it cannot reflect it. Options are merged so
|
|
660
|
+
// the single queued request satisfies every caller behind it — one caller asking for the
|
|
661
|
+
// remote config or for $anon_distinct_id is enough for the re-issued request to carry it.
|
|
656
662
|
this._logger.info('Feature flags are being loaded already, queuing reload.')
|
|
657
|
-
|
|
658
|
-
if (this._pendingFlagsRequest) {
|
|
659
|
-
this._flagsResponsePromise.then(this._pendingFlagsRequest.resolve).catch(this._pendingFlagsRequest.reject)
|
|
660
|
-
}
|
|
661
|
-
// Return a promise that resolves when the pending request completes
|
|
663
|
+
const pending = this._pendingFlagsRequest
|
|
662
664
|
return new Promise((resolve, reject) => {
|
|
663
|
-
this._pendingFlagsRequest = {
|
|
665
|
+
this._pendingFlagsRequest = {
|
|
666
|
+
sendAnonDistinctId: sendAnonDistinctId || !!pending?.sendAnonDistinctId,
|
|
667
|
+
fetchConfig: fetchConfig || !!pending?.fetchConfig,
|
|
668
|
+
triggerOnRemoteConfig: triggerOnRemoteConfig || !!pending?.triggerOnRemoteConfig,
|
|
669
|
+
waiters: [...(pending?.waiters ?? []), { resolve, reject }],
|
|
670
|
+
}
|
|
664
671
|
})
|
|
665
672
|
}
|
|
666
673
|
return this._flagsAsync({ sendAnonDistinctId, fetchConfig, triggerOnRemoteConfig })
|
|
@@ -911,8 +918,8 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
911
918
|
fetchConfig: pendingRequest.fetchConfig,
|
|
912
919
|
triggerOnRemoteConfig: pendingRequest.triggerOnRemoteConfig,
|
|
913
920
|
})
|
|
914
|
-
.then(pendingRequest.resolve)
|
|
915
|
-
.catch(pendingRequest.reject)
|
|
921
|
+
.then((res) => pendingRequest.waiters.forEach((w) => w.resolve(res)))
|
|
922
|
+
.catch((e) => pendingRequest.waiters.forEach((w) => w.reject(e)))
|
|
916
923
|
}
|
|
917
924
|
})
|
|
918
925
|
return this._flagsResponsePromise
|