@posthog/core 1.40.0 → 1.40.2
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-stateless.d.ts +37 -2
- package/dist/posthog-core-stateless.d.ts.map +1 -1
- package/dist/posthog-core-stateless.js +84 -57
- package/dist/posthog-core-stateless.mjs +84 -57
- package/dist/posthog-core.d.ts +2 -1
- package/dist/posthog-core.d.ts.map +1 -1
- package/dist/posthog-core.js +1 -0
- package/dist/posthog-core.mjs +1 -0
- package/dist/types.d.ts +1 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +1 -0
- package/dist/types.mjs +1 -0
- package/package.json +1 -1
- package/src/posthog-core-stateless.ts +161 -72
- package/src/posthog-core.ts +3 -1
- package/src/types.ts +5 -0
|
@@ -56,15 +56,17 @@ export declare abstract class PostHogCoreStateless {
|
|
|
56
56
|
private maxQueueSize;
|
|
57
57
|
private flushInterval;
|
|
58
58
|
private flushPromise;
|
|
59
|
+
private pendingFlushPromise;
|
|
59
60
|
private flushPromises;
|
|
61
|
+
private _dequeuedMessagesCount;
|
|
60
62
|
private shutdownPromise;
|
|
61
|
-
|
|
63
|
+
protected requestTimeout: number;
|
|
62
64
|
private featureFlagsRequestTimeoutMs;
|
|
63
65
|
private featureFlagsRequestMaxRetries;
|
|
64
66
|
private remoteConfigRequestTimeoutMs;
|
|
65
67
|
private removeDebugCallback?;
|
|
66
68
|
private disableGeoip;
|
|
67
|
-
|
|
69
|
+
protected historicalMigration: boolean;
|
|
68
70
|
private evaluationContexts?;
|
|
69
71
|
protected disabled: boolean;
|
|
70
72
|
protected disableCompression: boolean;
|
|
@@ -214,6 +216,25 @@ export declare abstract class PostHogCoreStateless {
|
|
|
214
216
|
* to prevent duplicate events on app crash/restart scenarios.
|
|
215
217
|
*/
|
|
216
218
|
protected flushStorage(): Promise<void>;
|
|
219
|
+
/**
|
|
220
|
+
* Route a message to a named queue. Events sharing a route are batched, flushed, retried,
|
|
221
|
+
* and persisted together, independently of other routes. The default keeps every event on a
|
|
222
|
+
* single route (byte-identical to the pre-partitioning behavior); override to segregate a
|
|
223
|
+
* subset of events onto their own queue and transport (see posthog-node's `$ai_*` routing).
|
|
224
|
+
*/
|
|
225
|
+
protected getQueueRouteKey(_message: PostHogEventProperties): string;
|
|
226
|
+
/**
|
|
227
|
+
* Maps a route key to the persisted-storage key its queue lives under. The default route uses
|
|
228
|
+
* the historical {@link PostHogPersistedProperty.Queue}; override to point other routes at their
|
|
229
|
+
* own storage keys (e.g. {@link PostHogPersistedProperty.AiQueue}).
|
|
230
|
+
*/
|
|
231
|
+
protected persistedQueueKeyForRoute(_route: string): PostHogPersistedProperty;
|
|
232
|
+
/**
|
|
233
|
+
* The set of routes that {@link _flush} and shutdown drain, in order. Must include every route
|
|
234
|
+
* {@link getQueueRouteKey} can return. Defaults to the single default route.
|
|
235
|
+
*/
|
|
236
|
+
protected getActiveQueueRoutes(): string[];
|
|
237
|
+
private getRouteQueue;
|
|
217
238
|
protected enqueue(type: string, _message: any, options?: PostHogCaptureOptions): void;
|
|
218
239
|
protected sendImmediate(type: string, _message: any, options?: PostHogCaptureOptions): Promise<void>;
|
|
219
240
|
private normalizeMessage;
|
|
@@ -259,7 +280,21 @@ export declare abstract class PostHogCoreStateless {
|
|
|
259
280
|
protected getCustomHeaders(): {
|
|
260
281
|
[key: string]: string;
|
|
261
282
|
};
|
|
283
|
+
/**
|
|
284
|
+
* Builds and sends one `/batch/` request for the given already-normalized
|
|
285
|
+
* messages, throwing on transport/HTTP error. Batch-size (413) shrinking,
|
|
286
|
+
* queue persistence, and error recovery stay with the callers (`_flush` and
|
|
287
|
+
* `sendImmediate`). This is the overridable seam that lets a subclass swap the
|
|
288
|
+
* capture submission transport (e.g. Capture V1) for both the batched and the
|
|
289
|
+
* immediate send paths at once.
|
|
290
|
+
*
|
|
291
|
+
* `route` identifies which queue route the batch came from (see
|
|
292
|
+
* {@link getQueueRouteKey}); a subclass can dispatch to a different transport per
|
|
293
|
+
* route. The default `/batch/` transport ignores it — every event is homogeneous.
|
|
294
|
+
*/
|
|
295
|
+
protected sendBatch(batchMessages: (PostHogEventProperties | undefined)[], retryOptions?: Partial<RetriableOptions>, _route?: string): Promise<void>;
|
|
262
296
|
private _flush;
|
|
297
|
+
private _flushRoute;
|
|
263
298
|
/**
|
|
264
299
|
* Sends a pre-built OTLP logs payload to `/i/v1/logs`. Returns a tagged
|
|
265
300
|
* outcome instead of throwing so PostHogLogs doesn't have to know about the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posthog-core-stateless.d.ts","sourceRoot":"","sources":["../src/posthog-core-stateless.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAGnD,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,qBAAqB,EACrB,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAGhB,yBAAyB,EACzB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,wBAAwB,EAExB,MAAM,EACN,cAAc,EAEf,MAAM,SAAS,CAAA;AAChB,OAAO,EAML,gBAAgB,EAMjB,MAAM,SAAS,CAAA;AAEhB,OAAO,EACL,sBAAsB,EAMvB,MAAM,kBAAkB,CAAA;AAyBzB,cAAM,wBAAyB,SAAQ,KAAK;IAGvB,KAAK,EAAE,OAAO;IAFjC,IAAI,SAA6B;gBAEd,KAAK,EAAE,OAAO;CAMlC;AAED,eAAO,MAAM,QAAQ,GAAI,KAAK,MAAM,EAAE,OAAO,QAAQ,GAAG,SAAS,KAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,CAC9C,CAAA;AAG7C,eAAO,MAAM,+BAA+B,GAC1C,QAAQ,sBAAsB,EAC9B,kBAAkB,sBAAsB,KACvC,IAMF,CAAA;AAED,wBAAsB,aAAa,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAY3D;AAMD;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,wBAAwB,CAExF;AAiCD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GACd;IAAE,IAAI,EAAE,WAAW,CAAA;CAAE,GACrB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAA;AAErC,oBAAY,mBAAmB;IAC7B,YAAY,kBAAkB;IAC9B,UAAU,eAAe;CAC1B;
|
|
1
|
+
{"version":3,"file":"posthog-core-stateless.d.ts","sourceRoot":"","sources":["../src/posthog-core-stateless.ts"],"names":[],"mappings":"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"}
|
|
@@ -103,6 +103,7 @@ var posthog_core_stateless_QuotaLimitedFeature = /*#__PURE__*/ function(QuotaLim
|
|
|
103
103
|
QuotaLimitedFeature["Recordings"] = "recordings";
|
|
104
104
|
return QuotaLimitedFeature;
|
|
105
105
|
}({});
|
|
106
|
+
const DEFAULT_QUEUE_ROUTE = 'default';
|
|
106
107
|
class PostHogCoreStateless {
|
|
107
108
|
getErrorPropertiesBuilder() {
|
|
108
109
|
if (!this._errorPropertiesBuilder) this._errorPropertiesBuilder = this.createErrorPropertiesBuilder();
|
|
@@ -118,7 +119,9 @@ class PostHogCoreStateless {
|
|
|
118
119
|
}
|
|
119
120
|
constructor(apiKey, options = {}){
|
|
120
121
|
this.flushPromise = null;
|
|
122
|
+
this.pendingFlushPromise = null;
|
|
121
123
|
this.flushPromises = new Set();
|
|
124
|
+
this._dequeuedMessagesCount = 0;
|
|
122
125
|
this.shutdownPromise = null;
|
|
123
126
|
this.promiseQueue = new index_js_namespaceObject.PromiseQueue();
|
|
124
127
|
this._events = new external_eventemitter_js_namespaceObject.SimpleEventEmitter();
|
|
@@ -527,6 +530,20 @@ class PostHogCoreStateless {
|
|
|
527
530
|
return message;
|
|
528
531
|
}
|
|
529
532
|
async flushStorage() {}
|
|
533
|
+
getQueueRouteKey(_message) {
|
|
534
|
+
return DEFAULT_QUEUE_ROUTE;
|
|
535
|
+
}
|
|
536
|
+
persistedQueueKeyForRoute(_route) {
|
|
537
|
+
return external_types_js_namespaceObject.PostHogPersistedProperty.Queue;
|
|
538
|
+
}
|
|
539
|
+
getActiveQueueRoutes() {
|
|
540
|
+
return [
|
|
541
|
+
DEFAULT_QUEUE_ROUTE
|
|
542
|
+
];
|
|
543
|
+
}
|
|
544
|
+
getRouteQueue(route) {
|
|
545
|
+
return this.getPersistedProperty(this.persistedQueueKeyForRoute(route)) || [];
|
|
546
|
+
}
|
|
530
547
|
enqueue(type, _message, options) {
|
|
531
548
|
this.wrap(()=>{
|
|
532
549
|
if (this.optedOut) return void this._events.emit(type, "Library is disabled. Not sending event. To re-enable, call posthog.optIn()");
|
|
@@ -534,7 +551,8 @@ class PostHogCoreStateless {
|
|
|
534
551
|
message = this.processBeforeEnqueue(message);
|
|
535
552
|
if (null === message) return;
|
|
536
553
|
message = this.normalizeMessage(message);
|
|
537
|
-
const
|
|
554
|
+
const queueKey = this.persistedQueueKeyForRoute(this.getQueueRouteKey(message));
|
|
555
|
+
const queue = this.getPersistedProperty(queueKey) || [];
|
|
538
556
|
if (queue.length >= this.maxQueueSize) {
|
|
539
557
|
queue.shift();
|
|
540
558
|
this._logger.info('Queue is full, the oldest event is dropped.');
|
|
@@ -542,7 +560,7 @@ class PostHogCoreStateless {
|
|
|
542
560
|
queue.push({
|
|
543
561
|
message
|
|
544
562
|
});
|
|
545
|
-
this.setPersistedProperty(
|
|
563
|
+
this.setPersistedProperty(queueKey, queue);
|
|
546
564
|
this._events.emit(type, message);
|
|
547
565
|
if (queue.length >= this.flushAt) this.flushBackground();
|
|
548
566
|
if (this.flushInterval && !this._flushTimer) this._flushTimer = (0, index_js_namespaceObject.safeSetTimeout)(()=>this.flushBackground(), this.flushInterval);
|
|
@@ -556,31 +574,10 @@ class PostHogCoreStateless {
|
|
|
556
574
|
message = this.processBeforeEnqueue(message);
|
|
557
575
|
if (null === message) return;
|
|
558
576
|
message = this.normalizeMessage(message);
|
|
559
|
-
const data = {
|
|
560
|
-
api_key: this.apiKey,
|
|
561
|
-
batch: [
|
|
562
|
-
message
|
|
563
|
-
],
|
|
564
|
-
sent_at: (0, index_js_namespaceObject.currentISOTime)()
|
|
565
|
-
};
|
|
566
|
-
if (this.historicalMigration) data.historical_migration = true;
|
|
567
|
-
const payload = (0, index_js_namespaceObject.safeJsonStringify)(data);
|
|
568
|
-
const url = `${this.host}/batch/`;
|
|
569
|
-
const gzippedPayload = this.disableCompression ? null : await (0, external_gzip_js_namespaceObject.gzipCompress)(payload, this.isDebug);
|
|
570
|
-
const fetchOptions = {
|
|
571
|
-
method: 'POST',
|
|
572
|
-
headers: {
|
|
573
|
-
...this.getCustomHeaders(),
|
|
574
|
-
'Content-Type': 'application/json',
|
|
575
|
-
...null !== gzippedPayload && {
|
|
576
|
-
'Content-Encoding': 'gzip'
|
|
577
|
-
}
|
|
578
|
-
},
|
|
579
|
-
body: gzippedPayload || payload
|
|
580
|
-
};
|
|
581
577
|
try {
|
|
582
|
-
|
|
583
|
-
|
|
578
|
+
await this.sendBatch([
|
|
579
|
+
message
|
|
580
|
+
], void 0, this.getQueueRouteKey(message));
|
|
584
581
|
} catch (err) {
|
|
585
582
|
this._events.emit('error', err);
|
|
586
583
|
}
|
|
@@ -624,6 +621,7 @@ class PostHogCoreStateless {
|
|
|
624
621
|
}
|
|
625
622
|
}
|
|
626
623
|
flushBackground() {
|
|
624
|
+
if (this.pendingFlushPromise) return;
|
|
627
625
|
this.flush().catch(async (err)=>{
|
|
628
626
|
await logFlushError(err);
|
|
629
627
|
});
|
|
@@ -650,6 +648,7 @@ class PostHogCoreStateless {
|
|
|
650
648
|
}
|
|
651
649
|
flushInternal(waitForPendingPromises) {
|
|
652
650
|
if (this.disabled) return Promise.resolve();
|
|
651
|
+
if (!waitForPendingPromises && this.pendingFlushPromise) return this.pendingFlushPromise;
|
|
653
652
|
const previousFlushPromise = this.flushPromise;
|
|
654
653
|
const maxPromiseId = this.promiseQueue.maxId;
|
|
655
654
|
const nextFlushPromise = Promise.resolve().then(()=>{
|
|
@@ -659,7 +658,11 @@ class PostHogCoreStateless {
|
|
|
659
658
|
]);
|
|
660
659
|
}).then(()=>(0, index_js_namespaceObject.allSettled)([
|
|
661
660
|
previousFlushPromise
|
|
662
|
-
])).then(()=>
|
|
661
|
+
])).then(()=>{
|
|
662
|
+
if (this.pendingFlushPromise === nextFlushPromise) this.pendingFlushPromise = null;
|
|
663
|
+
return this._flush();
|
|
664
|
+
});
|
|
665
|
+
this.pendingFlushPromise = nextFlushPromise;
|
|
663
666
|
this.flushPromise = nextFlushPromise;
|
|
664
667
|
this.flushPromises.add(nextFlushPromise);
|
|
665
668
|
this.addPendingPromise(nextFlushPromise);
|
|
@@ -667,6 +670,7 @@ class PostHogCoreStateless {
|
|
|
667
670
|
nextFlushPromise
|
|
668
671
|
]).then(()=>{
|
|
669
672
|
this.flushPromises.delete(nextFlushPromise);
|
|
673
|
+
if (this.pendingFlushPromise === nextFlushPromise) this.pendingFlushPromise = null;
|
|
670
674
|
if (this.flushPromise === nextFlushPromise) this.flushPromise = null;
|
|
671
675
|
});
|
|
672
676
|
return nextFlushPromise;
|
|
@@ -677,43 +681,62 @@ class PostHogCoreStateless {
|
|
|
677
681
|
if (customUserAgent && '' !== customUserAgent) headers['User-Agent'] = customUserAgent;
|
|
678
682
|
return headers;
|
|
679
683
|
}
|
|
684
|
+
async sendBatch(batchMessages, retryOptions, _route = DEFAULT_QUEUE_ROUTE) {
|
|
685
|
+
const data = {
|
|
686
|
+
api_key: this.apiKey,
|
|
687
|
+
batch: batchMessages,
|
|
688
|
+
sent_at: (0, index_js_namespaceObject.currentISOTime)()
|
|
689
|
+
};
|
|
690
|
+
if (this.historicalMigration) data.historical_migration = true;
|
|
691
|
+
const payload = (0, index_js_namespaceObject.safeJsonStringify)(data);
|
|
692
|
+
const url = `${this.host}/batch/`;
|
|
693
|
+
const gzippedPayload = this.disableCompression ? null : await (0, external_gzip_js_namespaceObject.gzipCompress)(payload, this.isDebug);
|
|
694
|
+
const fetchOptions = {
|
|
695
|
+
method: 'POST',
|
|
696
|
+
headers: {
|
|
697
|
+
...this.getCustomHeaders(),
|
|
698
|
+
'Content-Type': 'application/json',
|
|
699
|
+
...null !== gzippedPayload && {
|
|
700
|
+
'Content-Encoding': 'gzip'
|
|
701
|
+
}
|
|
702
|
+
},
|
|
703
|
+
body: gzippedPayload || payload
|
|
704
|
+
};
|
|
705
|
+
const response = await this.fetchWithRetry(url, fetchOptions, retryOptions);
|
|
706
|
+
await response.body?.cancel()?.catch(()=>{});
|
|
707
|
+
}
|
|
680
708
|
async _flush() {
|
|
681
709
|
this.clearFlushTimer();
|
|
682
710
|
await this._initPromise;
|
|
683
|
-
|
|
684
|
-
if (!
|
|
711
|
+
const routes = this.getActiveQueueRoutes();
|
|
712
|
+
if (!routes.some((route)=>this.getRouteQueue(route).length > 0)) return;
|
|
685
713
|
const sentMessages = [];
|
|
714
|
+
let firstError;
|
|
715
|
+
for (const route of routes)try {
|
|
716
|
+
await this._flushRoute(route, sentMessages);
|
|
717
|
+
} catch (err) {
|
|
718
|
+
if (void 0 === firstError) firstError = err;
|
|
719
|
+
}
|
|
720
|
+
if (void 0 !== firstError) throw firstError;
|
|
721
|
+
this._events.emit('flush', sentMessages);
|
|
722
|
+
}
|
|
723
|
+
async _flushRoute(route, sentMessages) {
|
|
724
|
+
const queueKey = this.persistedQueueKeyForRoute(route);
|
|
725
|
+
let queue = this.getPersistedProperty(queueKey) || [];
|
|
726
|
+
if (!queue.length) return;
|
|
686
727
|
const originalQueueLength = queue.length;
|
|
687
|
-
|
|
728
|
+
let sentFromRoute = 0;
|
|
729
|
+
while(queue.length > 0 && sentFromRoute < originalQueueLength){
|
|
688
730
|
const batchItems = queue.slice(0, this.maxBatchSize);
|
|
689
731
|
const batchMessages = batchItems.map((item)=>void 0 === item.message ? item.message : this.normalizeMessage(item.message));
|
|
690
732
|
const persistQueueChange = async ()=>{
|
|
691
|
-
const refreshedQueue = this.getPersistedProperty(
|
|
733
|
+
const refreshedQueue = this.getPersistedProperty(queueKey) || [];
|
|
692
734
|
const newQueue = refreshedQueue.slice(batchItems.length);
|
|
693
|
-
this.setPersistedProperty(
|
|
735
|
+
this.setPersistedProperty(queueKey, newQueue);
|
|
694
736
|
queue = newQueue;
|
|
737
|
+
this._dequeuedMessagesCount += batchItems.length;
|
|
695
738
|
await this.flushStorage();
|
|
696
739
|
};
|
|
697
|
-
const data = {
|
|
698
|
-
api_key: this.apiKey,
|
|
699
|
-
batch: batchMessages,
|
|
700
|
-
sent_at: (0, index_js_namespaceObject.currentISOTime)()
|
|
701
|
-
};
|
|
702
|
-
if (this.historicalMigration) data.historical_migration = true;
|
|
703
|
-
const payload = (0, index_js_namespaceObject.safeJsonStringify)(data);
|
|
704
|
-
const url = `${this.host}/batch/`;
|
|
705
|
-
const gzippedPayload = this.disableCompression ? null : await (0, external_gzip_js_namespaceObject.gzipCompress)(payload, this.isDebug);
|
|
706
|
-
const fetchOptions = {
|
|
707
|
-
method: 'POST',
|
|
708
|
-
headers: {
|
|
709
|
-
...this.getCustomHeaders(),
|
|
710
|
-
'Content-Type': 'application/json',
|
|
711
|
-
...null !== gzippedPayload && {
|
|
712
|
-
'Content-Encoding': 'gzip'
|
|
713
|
-
}
|
|
714
|
-
},
|
|
715
|
-
body: gzippedPayload || payload
|
|
716
|
-
};
|
|
717
740
|
const retryOptions = {
|
|
718
741
|
retryCheck: (err)=>{
|
|
719
742
|
if (isPostHogFetchContentTooLargeError(err)) return false;
|
|
@@ -721,8 +744,7 @@ class PostHogCoreStateless {
|
|
|
721
744
|
}
|
|
722
745
|
};
|
|
723
746
|
try {
|
|
724
|
-
|
|
725
|
-
await response.body?.cancel()?.catch(()=>{});
|
|
747
|
+
await this.sendBatch(batchMessages, retryOptions, route);
|
|
726
748
|
} catch (err) {
|
|
727
749
|
if (isPostHogFetchContentTooLargeError(err) && batchMessages.length > 1) {
|
|
728
750
|
this.maxBatchSize = Math.max(1, Math.floor(batchMessages.length / 2));
|
|
@@ -735,8 +757,8 @@ class PostHogCoreStateless {
|
|
|
735
757
|
}
|
|
736
758
|
await persistQueueChange();
|
|
737
759
|
sentMessages.push(...batchMessages);
|
|
760
|
+
sentFromRoute += batchMessages.length;
|
|
738
761
|
}
|
|
739
|
-
this._events.emit('flush', sentMessages);
|
|
740
762
|
}
|
|
741
763
|
async _sendLogsBatch(payload) {
|
|
742
764
|
if (this.disabled) return {
|
|
@@ -825,10 +847,15 @@ class PostHogCoreStateless {
|
|
|
825
847
|
try {
|
|
826
848
|
await this.promiseQueue.join();
|
|
827
849
|
while(true){
|
|
828
|
-
const
|
|
829
|
-
if (
|
|
850
|
+
const hasQueuedEvents = this.getActiveQueueRoutes().some((route)=>this.getRouteQueue(route).length > 0);
|
|
851
|
+
if (!hasQueuedEvents) break;
|
|
852
|
+
const dequeuedBeforeFlush = this._dequeuedMessagesCount;
|
|
830
853
|
await this.flush();
|
|
831
854
|
if (hasTimedOut) break;
|
|
855
|
+
if (this._dequeuedMessagesCount === dequeuedBeforeFlush) {
|
|
856
|
+
this._logger.warn('Shutdown flush completed but did not send any queued events. Stopping drain to avoid a loop.');
|
|
857
|
+
break;
|
|
858
|
+
}
|
|
832
859
|
}
|
|
833
860
|
} catch (e) {
|
|
834
861
|
if (!isPostHogFetchError(e)) throw e;
|
|
@@ -70,6 +70,7 @@ var posthog_core_stateless_QuotaLimitedFeature = /*#__PURE__*/ function(QuotaLim
|
|
|
70
70
|
QuotaLimitedFeature["Recordings"] = "recordings";
|
|
71
71
|
return QuotaLimitedFeature;
|
|
72
72
|
}({});
|
|
73
|
+
const DEFAULT_QUEUE_ROUTE = 'default';
|
|
73
74
|
class PostHogCoreStateless {
|
|
74
75
|
getErrorPropertiesBuilder() {
|
|
75
76
|
if (!this._errorPropertiesBuilder) this._errorPropertiesBuilder = this.createErrorPropertiesBuilder();
|
|
@@ -85,7 +86,9 @@ class PostHogCoreStateless {
|
|
|
85
86
|
}
|
|
86
87
|
constructor(apiKey, options = {}){
|
|
87
88
|
this.flushPromise = null;
|
|
89
|
+
this.pendingFlushPromise = null;
|
|
88
90
|
this.flushPromises = new Set();
|
|
91
|
+
this._dequeuedMessagesCount = 0;
|
|
89
92
|
this.shutdownPromise = null;
|
|
90
93
|
this.promiseQueue = new PromiseQueue();
|
|
91
94
|
this._events = new SimpleEventEmitter();
|
|
@@ -494,6 +497,20 @@ class PostHogCoreStateless {
|
|
|
494
497
|
return message;
|
|
495
498
|
}
|
|
496
499
|
async flushStorage() {}
|
|
500
|
+
getQueueRouteKey(_message) {
|
|
501
|
+
return DEFAULT_QUEUE_ROUTE;
|
|
502
|
+
}
|
|
503
|
+
persistedQueueKeyForRoute(_route) {
|
|
504
|
+
return PostHogPersistedProperty.Queue;
|
|
505
|
+
}
|
|
506
|
+
getActiveQueueRoutes() {
|
|
507
|
+
return [
|
|
508
|
+
DEFAULT_QUEUE_ROUTE
|
|
509
|
+
];
|
|
510
|
+
}
|
|
511
|
+
getRouteQueue(route) {
|
|
512
|
+
return this.getPersistedProperty(this.persistedQueueKeyForRoute(route)) || [];
|
|
513
|
+
}
|
|
497
514
|
enqueue(type, _message, options) {
|
|
498
515
|
this.wrap(()=>{
|
|
499
516
|
if (this.optedOut) return void this._events.emit(type, "Library is disabled. Not sending event. To re-enable, call posthog.optIn()");
|
|
@@ -501,7 +518,8 @@ class PostHogCoreStateless {
|
|
|
501
518
|
message = this.processBeforeEnqueue(message);
|
|
502
519
|
if (null === message) return;
|
|
503
520
|
message = this.normalizeMessage(message);
|
|
504
|
-
const
|
|
521
|
+
const queueKey = this.persistedQueueKeyForRoute(this.getQueueRouteKey(message));
|
|
522
|
+
const queue = this.getPersistedProperty(queueKey) || [];
|
|
505
523
|
if (queue.length >= this.maxQueueSize) {
|
|
506
524
|
queue.shift();
|
|
507
525
|
this._logger.info('Queue is full, the oldest event is dropped.');
|
|
@@ -509,7 +527,7 @@ class PostHogCoreStateless {
|
|
|
509
527
|
queue.push({
|
|
510
528
|
message
|
|
511
529
|
});
|
|
512
|
-
this.setPersistedProperty(
|
|
530
|
+
this.setPersistedProperty(queueKey, queue);
|
|
513
531
|
this._events.emit(type, message);
|
|
514
532
|
if (queue.length >= this.flushAt) this.flushBackground();
|
|
515
533
|
if (this.flushInterval && !this._flushTimer) this._flushTimer = safeSetTimeout(()=>this.flushBackground(), this.flushInterval);
|
|
@@ -523,31 +541,10 @@ class PostHogCoreStateless {
|
|
|
523
541
|
message = this.processBeforeEnqueue(message);
|
|
524
542
|
if (null === message) return;
|
|
525
543
|
message = this.normalizeMessage(message);
|
|
526
|
-
const data = {
|
|
527
|
-
api_key: this.apiKey,
|
|
528
|
-
batch: [
|
|
529
|
-
message
|
|
530
|
-
],
|
|
531
|
-
sent_at: currentISOTime()
|
|
532
|
-
};
|
|
533
|
-
if (this.historicalMigration) data.historical_migration = true;
|
|
534
|
-
const payload = safeJsonStringify(data);
|
|
535
|
-
const url = `${this.host}/batch/`;
|
|
536
|
-
const gzippedPayload = this.disableCompression ? null : await gzipCompress(payload, this.isDebug);
|
|
537
|
-
const fetchOptions = {
|
|
538
|
-
method: 'POST',
|
|
539
|
-
headers: {
|
|
540
|
-
...this.getCustomHeaders(),
|
|
541
|
-
'Content-Type': 'application/json',
|
|
542
|
-
...null !== gzippedPayload && {
|
|
543
|
-
'Content-Encoding': 'gzip'
|
|
544
|
-
}
|
|
545
|
-
},
|
|
546
|
-
body: gzippedPayload || payload
|
|
547
|
-
};
|
|
548
544
|
try {
|
|
549
|
-
|
|
550
|
-
|
|
545
|
+
await this.sendBatch([
|
|
546
|
+
message
|
|
547
|
+
], void 0, this.getQueueRouteKey(message));
|
|
551
548
|
} catch (err) {
|
|
552
549
|
this._events.emit('error', err);
|
|
553
550
|
}
|
|
@@ -591,6 +588,7 @@ class PostHogCoreStateless {
|
|
|
591
588
|
}
|
|
592
589
|
}
|
|
593
590
|
flushBackground() {
|
|
591
|
+
if (this.pendingFlushPromise) return;
|
|
594
592
|
this.flush().catch(async (err)=>{
|
|
595
593
|
await logFlushError(err);
|
|
596
594
|
});
|
|
@@ -617,6 +615,7 @@ class PostHogCoreStateless {
|
|
|
617
615
|
}
|
|
618
616
|
flushInternal(waitForPendingPromises) {
|
|
619
617
|
if (this.disabled) return Promise.resolve();
|
|
618
|
+
if (!waitForPendingPromises && this.pendingFlushPromise) return this.pendingFlushPromise;
|
|
620
619
|
const previousFlushPromise = this.flushPromise;
|
|
621
620
|
const maxPromiseId = this.promiseQueue.maxId;
|
|
622
621
|
const nextFlushPromise = Promise.resolve().then(()=>{
|
|
@@ -626,7 +625,11 @@ class PostHogCoreStateless {
|
|
|
626
625
|
]);
|
|
627
626
|
}).then(()=>allSettled([
|
|
628
627
|
previousFlushPromise
|
|
629
|
-
])).then(()=>
|
|
628
|
+
])).then(()=>{
|
|
629
|
+
if (this.pendingFlushPromise === nextFlushPromise) this.pendingFlushPromise = null;
|
|
630
|
+
return this._flush();
|
|
631
|
+
});
|
|
632
|
+
this.pendingFlushPromise = nextFlushPromise;
|
|
630
633
|
this.flushPromise = nextFlushPromise;
|
|
631
634
|
this.flushPromises.add(nextFlushPromise);
|
|
632
635
|
this.addPendingPromise(nextFlushPromise);
|
|
@@ -634,6 +637,7 @@ class PostHogCoreStateless {
|
|
|
634
637
|
nextFlushPromise
|
|
635
638
|
]).then(()=>{
|
|
636
639
|
this.flushPromises.delete(nextFlushPromise);
|
|
640
|
+
if (this.pendingFlushPromise === nextFlushPromise) this.pendingFlushPromise = null;
|
|
637
641
|
if (this.flushPromise === nextFlushPromise) this.flushPromise = null;
|
|
638
642
|
});
|
|
639
643
|
return nextFlushPromise;
|
|
@@ -644,43 +648,62 @@ class PostHogCoreStateless {
|
|
|
644
648
|
if (customUserAgent && '' !== customUserAgent) headers['User-Agent'] = customUserAgent;
|
|
645
649
|
return headers;
|
|
646
650
|
}
|
|
651
|
+
async sendBatch(batchMessages, retryOptions, _route = DEFAULT_QUEUE_ROUTE) {
|
|
652
|
+
const data = {
|
|
653
|
+
api_key: this.apiKey,
|
|
654
|
+
batch: batchMessages,
|
|
655
|
+
sent_at: currentISOTime()
|
|
656
|
+
};
|
|
657
|
+
if (this.historicalMigration) data.historical_migration = true;
|
|
658
|
+
const payload = safeJsonStringify(data);
|
|
659
|
+
const url = `${this.host}/batch/`;
|
|
660
|
+
const gzippedPayload = this.disableCompression ? null : await gzipCompress(payload, this.isDebug);
|
|
661
|
+
const fetchOptions = {
|
|
662
|
+
method: 'POST',
|
|
663
|
+
headers: {
|
|
664
|
+
...this.getCustomHeaders(),
|
|
665
|
+
'Content-Type': 'application/json',
|
|
666
|
+
...null !== gzippedPayload && {
|
|
667
|
+
'Content-Encoding': 'gzip'
|
|
668
|
+
}
|
|
669
|
+
},
|
|
670
|
+
body: gzippedPayload || payload
|
|
671
|
+
};
|
|
672
|
+
const response = await this.fetchWithRetry(url, fetchOptions, retryOptions);
|
|
673
|
+
await response.body?.cancel()?.catch(()=>{});
|
|
674
|
+
}
|
|
647
675
|
async _flush() {
|
|
648
676
|
this.clearFlushTimer();
|
|
649
677
|
await this._initPromise;
|
|
650
|
-
|
|
651
|
-
if (!
|
|
678
|
+
const routes = this.getActiveQueueRoutes();
|
|
679
|
+
if (!routes.some((route)=>this.getRouteQueue(route).length > 0)) return;
|
|
652
680
|
const sentMessages = [];
|
|
681
|
+
let firstError;
|
|
682
|
+
for (const route of routes)try {
|
|
683
|
+
await this._flushRoute(route, sentMessages);
|
|
684
|
+
} catch (err) {
|
|
685
|
+
if (void 0 === firstError) firstError = err;
|
|
686
|
+
}
|
|
687
|
+
if (void 0 !== firstError) throw firstError;
|
|
688
|
+
this._events.emit('flush', sentMessages);
|
|
689
|
+
}
|
|
690
|
+
async _flushRoute(route, sentMessages) {
|
|
691
|
+
const queueKey = this.persistedQueueKeyForRoute(route);
|
|
692
|
+
let queue = this.getPersistedProperty(queueKey) || [];
|
|
693
|
+
if (!queue.length) return;
|
|
653
694
|
const originalQueueLength = queue.length;
|
|
654
|
-
|
|
695
|
+
let sentFromRoute = 0;
|
|
696
|
+
while(queue.length > 0 && sentFromRoute < originalQueueLength){
|
|
655
697
|
const batchItems = queue.slice(0, this.maxBatchSize);
|
|
656
698
|
const batchMessages = batchItems.map((item)=>void 0 === item.message ? item.message : this.normalizeMessage(item.message));
|
|
657
699
|
const persistQueueChange = async ()=>{
|
|
658
|
-
const refreshedQueue = this.getPersistedProperty(
|
|
700
|
+
const refreshedQueue = this.getPersistedProperty(queueKey) || [];
|
|
659
701
|
const newQueue = refreshedQueue.slice(batchItems.length);
|
|
660
|
-
this.setPersistedProperty(
|
|
702
|
+
this.setPersistedProperty(queueKey, newQueue);
|
|
661
703
|
queue = newQueue;
|
|
704
|
+
this._dequeuedMessagesCount += batchItems.length;
|
|
662
705
|
await this.flushStorage();
|
|
663
706
|
};
|
|
664
|
-
const data = {
|
|
665
|
-
api_key: this.apiKey,
|
|
666
|
-
batch: batchMessages,
|
|
667
|
-
sent_at: currentISOTime()
|
|
668
|
-
};
|
|
669
|
-
if (this.historicalMigration) data.historical_migration = true;
|
|
670
|
-
const payload = safeJsonStringify(data);
|
|
671
|
-
const url = `${this.host}/batch/`;
|
|
672
|
-
const gzippedPayload = this.disableCompression ? null : await gzipCompress(payload, this.isDebug);
|
|
673
|
-
const fetchOptions = {
|
|
674
|
-
method: 'POST',
|
|
675
|
-
headers: {
|
|
676
|
-
...this.getCustomHeaders(),
|
|
677
|
-
'Content-Type': 'application/json',
|
|
678
|
-
...null !== gzippedPayload && {
|
|
679
|
-
'Content-Encoding': 'gzip'
|
|
680
|
-
}
|
|
681
|
-
},
|
|
682
|
-
body: gzippedPayload || payload
|
|
683
|
-
};
|
|
684
707
|
const retryOptions = {
|
|
685
708
|
retryCheck: (err)=>{
|
|
686
709
|
if (isPostHogFetchContentTooLargeError(err)) return false;
|
|
@@ -688,8 +711,7 @@ class PostHogCoreStateless {
|
|
|
688
711
|
}
|
|
689
712
|
};
|
|
690
713
|
try {
|
|
691
|
-
|
|
692
|
-
await response.body?.cancel()?.catch(()=>{});
|
|
714
|
+
await this.sendBatch(batchMessages, retryOptions, route);
|
|
693
715
|
} catch (err) {
|
|
694
716
|
if (isPostHogFetchContentTooLargeError(err) && batchMessages.length > 1) {
|
|
695
717
|
this.maxBatchSize = Math.max(1, Math.floor(batchMessages.length / 2));
|
|
@@ -702,8 +724,8 @@ class PostHogCoreStateless {
|
|
|
702
724
|
}
|
|
703
725
|
await persistQueueChange();
|
|
704
726
|
sentMessages.push(...batchMessages);
|
|
727
|
+
sentFromRoute += batchMessages.length;
|
|
705
728
|
}
|
|
706
|
-
this._events.emit('flush', sentMessages);
|
|
707
729
|
}
|
|
708
730
|
async _sendLogsBatch(payload) {
|
|
709
731
|
if (this.disabled) return {
|
|
@@ -792,10 +814,15 @@ class PostHogCoreStateless {
|
|
|
792
814
|
try {
|
|
793
815
|
await this.promiseQueue.join();
|
|
794
816
|
while(true){
|
|
795
|
-
const
|
|
796
|
-
if (
|
|
817
|
+
const hasQueuedEvents = this.getActiveQueueRoutes().some((route)=>this.getRouteQueue(route).length > 0);
|
|
818
|
+
if (!hasQueuedEvents) break;
|
|
819
|
+
const dequeuedBeforeFlush = this._dequeuedMessagesCount;
|
|
797
820
|
await this.flush();
|
|
798
821
|
if (hasTimedOut) break;
|
|
822
|
+
if (this._dequeuedMessagesCount === dequeuedBeforeFlush) {
|
|
823
|
+
this._logger.warn('Shutdown flush completed but did not send any queued events. Stopping drain to avoid a loop.');
|
|
824
|
+
break;
|
|
825
|
+
}
|
|
799
826
|
}
|
|
800
827
|
} catch (e) {
|
|
801
828
|
if (!isPostHogFetchError(e)) throw e;
|
package/dist/posthog-core.d.ts
CHANGED
|
@@ -26,7 +26,8 @@ export declare abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
26
26
|
/**
|
|
27
27
|
* Resets the user's ID and clears all persisted properties.
|
|
28
28
|
*
|
|
29
|
-
* Note: The event
|
|
29
|
+
* Note: The event queues (`PostHogPersistedProperty.Queue` and the isolated
|
|
30
|
+
* `PostHogPersistedProperty.AiQueue`) and the logs queue
|
|
30
31
|
* (`PostHogPersistedProperty.LogsQueue`) are always preserved regardless
|
|
31
32
|
* of what is passed in `propertiesToKeep`, to ensure in-flight data
|
|
32
33
|
* is not lost when identity changes.
|
|
@@ -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;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;AAOD,8BAAsB,WAAY,SAAQ,oBAAoB;IAE5D,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,gBAAgB,CAA2D;IACnF,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;IAgBxD,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
|
|
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
|
@@ -92,6 +92,7 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
92
92
|
this.wrap(()=>{
|
|
93
93
|
const allPropertiesToKeep = [
|
|
94
94
|
external_types_js_namespaceObject.PostHogPersistedProperty.Queue,
|
|
95
|
+
external_types_js_namespaceObject.PostHogPersistedProperty.AiQueue,
|
|
95
96
|
external_types_js_namespaceObject.PostHogPersistedProperty.LogsQueue,
|
|
96
97
|
...propertiesToKeep || []
|
|
97
98
|
];
|
package/dist/posthog-core.mjs
CHANGED
package/dist/types.d.ts
CHANGED
|
@@ -263,6 +263,7 @@ export declare enum PostHogPersistedProperty {
|
|
|
263
263
|
BootstrapFeatureFlagPayloads = "bootstrap_feature_flag_payloads",
|
|
264
264
|
OverrideFeatureFlags = "override_feature_flags",
|
|
265
265
|
Queue = "queue",
|
|
266
|
+
AiQueue = "ai_queue",
|
|
266
267
|
LogsQueue = "logs_queue",
|
|
267
268
|
OptedOut = "opted_out",
|
|
268
269
|
SessionId = "session_id",
|
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/dist/types.js
CHANGED
|
@@ -55,6 +55,7 @@ var PostHogPersistedProperty = /*#__PURE__*/ function(PostHogPersistedProperty)
|
|
|
55
55
|
PostHogPersistedProperty["BootstrapFeatureFlagPayloads"] = "bootstrap_feature_flag_payloads";
|
|
56
56
|
PostHogPersistedProperty["OverrideFeatureFlags"] = "override_feature_flags";
|
|
57
57
|
PostHogPersistedProperty["Queue"] = "queue";
|
|
58
|
+
PostHogPersistedProperty["AiQueue"] = "ai_queue";
|
|
58
59
|
PostHogPersistedProperty["LogsQueue"] = "logs_queue";
|
|
59
60
|
PostHogPersistedProperty["OptedOut"] = "opted_out";
|
|
60
61
|
PostHogPersistedProperty["SessionId"] = "session_id";
|
package/dist/types.mjs
CHANGED
|
@@ -12,6 +12,7 @@ var types_PostHogPersistedProperty = /*#__PURE__*/ function(PostHogPersistedProp
|
|
|
12
12
|
PostHogPersistedProperty["BootstrapFeatureFlagPayloads"] = "bootstrap_feature_flag_payloads";
|
|
13
13
|
PostHogPersistedProperty["OverrideFeatureFlags"] = "override_feature_flags";
|
|
14
14
|
PostHogPersistedProperty["Queue"] = "queue";
|
|
15
|
+
PostHogPersistedProperty["AiQueue"] = "ai_queue";
|
|
15
16
|
PostHogPersistedProperty["LogsQueue"] = "logs_queue";
|
|
16
17
|
PostHogPersistedProperty["OptedOut"] = "opted_out";
|
|
17
18
|
PostHogPersistedProperty["SessionId"] = "session_id";
|
package/package.json
CHANGED
|
@@ -178,6 +178,13 @@ export enum QuotaLimitedFeature {
|
|
|
178
178
|
Recordings = 'recordings',
|
|
179
179
|
}
|
|
180
180
|
|
|
181
|
+
/**
|
|
182
|
+
* The single queue route every SDK uses unless it overrides {@link PostHogCoreStateless.getQueueRouteKey}.
|
|
183
|
+
* With one route the enqueue/flush/shutdown paths behave exactly as they did before route
|
|
184
|
+
* partitioning existed, so browser/RN stay byte-identical.
|
|
185
|
+
*/
|
|
186
|
+
const DEFAULT_QUEUE_ROUTE = 'default'
|
|
187
|
+
|
|
181
188
|
export abstract class PostHogCoreStateless {
|
|
182
189
|
// options
|
|
183
190
|
readonly apiKey: string
|
|
@@ -189,15 +196,17 @@ export abstract class PostHogCoreStateless {
|
|
|
189
196
|
private maxQueueSize: number
|
|
190
197
|
private flushInterval: number
|
|
191
198
|
private flushPromise: Promise<any> | null = null
|
|
199
|
+
private pendingFlushPromise: Promise<void> | null = null
|
|
192
200
|
private flushPromises: Set<Promise<any>> = new Set()
|
|
201
|
+
private _dequeuedMessagesCount: number = 0
|
|
193
202
|
private shutdownPromise: Promise<void> | null = null
|
|
194
|
-
|
|
203
|
+
protected requestTimeout: number
|
|
195
204
|
private featureFlagsRequestTimeoutMs: number
|
|
196
205
|
private featureFlagsRequestMaxRetries: number
|
|
197
206
|
private remoteConfigRequestTimeoutMs: number
|
|
198
207
|
private removeDebugCallback?: () => void
|
|
199
208
|
private disableGeoip: boolean
|
|
200
|
-
|
|
209
|
+
protected historicalMigration: boolean
|
|
201
210
|
private evaluationContexts?: readonly string[]
|
|
202
211
|
protected disabled
|
|
203
212
|
protected disableCompression: boolean
|
|
@@ -1032,6 +1041,37 @@ export abstract class PostHogCoreStateless {
|
|
|
1032
1041
|
// Default: no-op for sync storage implementations
|
|
1033
1042
|
}
|
|
1034
1043
|
|
|
1044
|
+
/**
|
|
1045
|
+
* Route a message to a named queue. Events sharing a route are batched, flushed, retried,
|
|
1046
|
+
* and persisted together, independently of other routes. The default keeps every event on a
|
|
1047
|
+
* single route (byte-identical to the pre-partitioning behavior); override to segregate a
|
|
1048
|
+
* subset of events onto their own queue and transport (see posthog-node's `$ai_*` routing).
|
|
1049
|
+
*/
|
|
1050
|
+
protected getQueueRouteKey(_message: PostHogEventProperties): string {
|
|
1051
|
+
return DEFAULT_QUEUE_ROUTE
|
|
1052
|
+
}
|
|
1053
|
+
|
|
1054
|
+
/**
|
|
1055
|
+
* Maps a route key to the persisted-storage key its queue lives under. The default route uses
|
|
1056
|
+
* the historical {@link PostHogPersistedProperty.Queue}; override to point other routes at their
|
|
1057
|
+
* own storage keys (e.g. {@link PostHogPersistedProperty.AiQueue}).
|
|
1058
|
+
*/
|
|
1059
|
+
protected persistedQueueKeyForRoute(_route: string): PostHogPersistedProperty {
|
|
1060
|
+
return PostHogPersistedProperty.Queue
|
|
1061
|
+
}
|
|
1062
|
+
|
|
1063
|
+
/**
|
|
1064
|
+
* The set of routes that {@link _flush} and shutdown drain, in order. Must include every route
|
|
1065
|
+
* {@link getQueueRouteKey} can return. Defaults to the single default route.
|
|
1066
|
+
*/
|
|
1067
|
+
protected getActiveQueueRoutes(): string[] {
|
|
1068
|
+
return [DEFAULT_QUEUE_ROUTE]
|
|
1069
|
+
}
|
|
1070
|
+
|
|
1071
|
+
private getRouteQueue(route: string): PostHogQueueItem[] {
|
|
1072
|
+
return this.getPersistedProperty<PostHogQueueItem[]>(this.persistedQueueKeyForRoute(route)) || []
|
|
1073
|
+
}
|
|
1074
|
+
|
|
1035
1075
|
protected enqueue(type: string, _message: any, options?: PostHogCaptureOptions): void {
|
|
1036
1076
|
this.wrap(() => {
|
|
1037
1077
|
if (this.optedOut) {
|
|
@@ -1048,7 +1088,8 @@ export abstract class PostHogCoreStateless {
|
|
|
1048
1088
|
}
|
|
1049
1089
|
message = this.normalizeMessage(message)
|
|
1050
1090
|
|
|
1051
|
-
const
|
|
1091
|
+
const queueKey = this.persistedQueueKeyForRoute(this.getQueueRouteKey(message))
|
|
1092
|
+
const queue = this.getPersistedProperty<PostHogQueueItem[]>(queueKey) || []
|
|
1052
1093
|
|
|
1053
1094
|
if (queue.length >= this.maxQueueSize) {
|
|
1054
1095
|
queue.shift()
|
|
@@ -1056,7 +1097,7 @@ export abstract class PostHogCoreStateless {
|
|
|
1056
1097
|
}
|
|
1057
1098
|
|
|
1058
1099
|
queue.push({ message })
|
|
1059
|
-
this.setPersistedProperty<PostHogQueueItem[]>(
|
|
1100
|
+
this.setPersistedProperty<PostHogQueueItem[]>(queueKey, queue)
|
|
1060
1101
|
|
|
1061
1102
|
this._events.emit(type, message)
|
|
1062
1103
|
|
|
@@ -1095,37 +1136,8 @@ export abstract class PostHogCoreStateless {
|
|
|
1095
1136
|
}
|
|
1096
1137
|
message = this.normalizeMessage(message)
|
|
1097
1138
|
|
|
1098
|
-
const data: Record<string, any> = {
|
|
1099
|
-
api_key: this.apiKey,
|
|
1100
|
-
batch: [message],
|
|
1101
|
-
sent_at: currentISOTime(),
|
|
1102
|
-
}
|
|
1103
|
-
|
|
1104
|
-
if (this.historicalMigration) {
|
|
1105
|
-
data.historical_migration = true
|
|
1106
|
-
}
|
|
1107
|
-
|
|
1108
|
-
const payload = safeJsonStringify(data)
|
|
1109
|
-
|
|
1110
|
-
const url = `${this.host}/batch/`
|
|
1111
|
-
|
|
1112
|
-
const gzippedPayload = !this.disableCompression ? await gzipCompress(payload, this.isDebug) : null
|
|
1113
|
-
const fetchOptions: PostHogFetchOptions = {
|
|
1114
|
-
method: 'POST',
|
|
1115
|
-
headers: {
|
|
1116
|
-
...this.getCustomHeaders(),
|
|
1117
|
-
'Content-Type': 'application/json',
|
|
1118
|
-
...(gzippedPayload !== null && { 'Content-Encoding': 'gzip' }),
|
|
1119
|
-
},
|
|
1120
|
-
body: gzippedPayload || payload,
|
|
1121
|
-
}
|
|
1122
|
-
|
|
1123
1139
|
try {
|
|
1124
|
-
|
|
1125
|
-
// Consume the response body to prevent cross-request promise warnings
|
|
1126
|
-
// in runtimes like Cloudflare Workers that enforce body consumption.
|
|
1127
|
-
// See: https://github.com/PostHog/posthog-js/issues/3173
|
|
1128
|
-
await response.body?.cancel()?.catch(() => {})
|
|
1140
|
+
await this.sendBatch([message], undefined, this.getQueueRouteKey(message))
|
|
1129
1141
|
} catch (err) {
|
|
1130
1142
|
this._events.emit('error', err)
|
|
1131
1143
|
}
|
|
@@ -1191,6 +1203,9 @@ export abstract class PostHogCoreStateless {
|
|
|
1191
1203
|
* Avoids unnecessary promise errors
|
|
1192
1204
|
*/
|
|
1193
1205
|
private flushBackground(): void {
|
|
1206
|
+
if (this.pendingFlushPromise) {
|
|
1207
|
+
return
|
|
1208
|
+
}
|
|
1194
1209
|
void this.flush().catch(async (err) => {
|
|
1195
1210
|
await logFlushError(err)
|
|
1196
1211
|
})
|
|
@@ -1259,6 +1274,10 @@ export abstract class PostHogCoreStateless {
|
|
|
1259
1274
|
return Promise.resolve()
|
|
1260
1275
|
}
|
|
1261
1276
|
|
|
1277
|
+
if (!waitForPendingPromises && this.pendingFlushPromise) {
|
|
1278
|
+
return this.pendingFlushPromise
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1262
1281
|
const previousFlushPromise = this.flushPromise
|
|
1263
1282
|
const maxPromiseId = this.promiseQueue.maxId
|
|
1264
1283
|
|
|
@@ -1275,15 +1294,22 @@ export abstract class PostHogCoreStateless {
|
|
|
1275
1294
|
// Use a custom allSettled implementation to avoid issues with patching Promise on RN
|
|
1276
1295
|
.then(() => allSettled([previousFlushPromise]))
|
|
1277
1296
|
.then(() => {
|
|
1297
|
+
if (this.pendingFlushPromise === nextFlushPromise) {
|
|
1298
|
+
this.pendingFlushPromise = null
|
|
1299
|
+
}
|
|
1278
1300
|
return this._flush()
|
|
1279
1301
|
})
|
|
1280
1302
|
|
|
1303
|
+
this.pendingFlushPromise = nextFlushPromise
|
|
1281
1304
|
this.flushPromise = nextFlushPromise
|
|
1282
1305
|
this.flushPromises.add(nextFlushPromise)
|
|
1283
1306
|
void this.addPendingPromise(nextFlushPromise)
|
|
1284
1307
|
|
|
1285
1308
|
allSettled([nextFlushPromise]).then(() => {
|
|
1286
1309
|
this.flushPromises.delete(nextFlushPromise)
|
|
1310
|
+
if (this.pendingFlushPromise === nextFlushPromise) {
|
|
1311
|
+
this.pendingFlushPromise = null
|
|
1312
|
+
}
|
|
1287
1313
|
// If there are no others waiting to flush, clear the promise.
|
|
1288
1314
|
// We don't strictly need to do this, but it could make debugging easier
|
|
1289
1315
|
if (this.flushPromise === nextFlushPromise) {
|
|
@@ -1307,59 +1333,117 @@ export abstract class PostHogCoreStateless {
|
|
|
1307
1333
|
return headers
|
|
1308
1334
|
}
|
|
1309
1335
|
|
|
1336
|
+
/**
|
|
1337
|
+
* Builds and sends one `/batch/` request for the given already-normalized
|
|
1338
|
+
* messages, throwing on transport/HTTP error. Batch-size (413) shrinking,
|
|
1339
|
+
* queue persistence, and error recovery stay with the callers (`_flush` and
|
|
1340
|
+
* `sendImmediate`). This is the overridable seam that lets a subclass swap the
|
|
1341
|
+
* capture submission transport (e.g. Capture V1) for both the batched and the
|
|
1342
|
+
* immediate send paths at once.
|
|
1343
|
+
*
|
|
1344
|
+
* `route` identifies which queue route the batch came from (see
|
|
1345
|
+
* {@link getQueueRouteKey}); a subclass can dispatch to a different transport per
|
|
1346
|
+
* route. The default `/batch/` transport ignores it — every event is homogeneous.
|
|
1347
|
+
*/
|
|
1348
|
+
protected async sendBatch(
|
|
1349
|
+
batchMessages: (PostHogEventProperties | undefined)[],
|
|
1350
|
+
retryOptions?: Partial<RetriableOptions>,
|
|
1351
|
+
_route: string = DEFAULT_QUEUE_ROUTE
|
|
1352
|
+
): Promise<void> {
|
|
1353
|
+
const data: Record<string, any> = {
|
|
1354
|
+
api_key: this.apiKey,
|
|
1355
|
+
batch: batchMessages,
|
|
1356
|
+
sent_at: currentISOTime(),
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
if (this.historicalMigration) {
|
|
1360
|
+
data.historical_migration = true
|
|
1361
|
+
}
|
|
1362
|
+
|
|
1363
|
+
const payload = safeJsonStringify(data)
|
|
1364
|
+
|
|
1365
|
+
const url = `${this.host}/batch/`
|
|
1366
|
+
|
|
1367
|
+
const gzippedPayload = !this.disableCompression ? await gzipCompress(payload, this.isDebug) : null
|
|
1368
|
+
const fetchOptions: PostHogFetchOptions = {
|
|
1369
|
+
method: 'POST',
|
|
1370
|
+
headers: {
|
|
1371
|
+
...this.getCustomHeaders(),
|
|
1372
|
+
'Content-Type': 'application/json',
|
|
1373
|
+
...(gzippedPayload !== null && { 'Content-Encoding': 'gzip' }),
|
|
1374
|
+
},
|
|
1375
|
+
body: gzippedPayload || payload,
|
|
1376
|
+
}
|
|
1377
|
+
|
|
1378
|
+
const response = await this.fetchWithRetry(url, fetchOptions, retryOptions)
|
|
1379
|
+
// Consume the response body to prevent cross-request promise warnings
|
|
1380
|
+
// in runtimes like Cloudflare Workers that enforce body consumption.
|
|
1381
|
+
// See: https://github.com/PostHog/posthog-js/issues/3173
|
|
1382
|
+
await response.body?.cancel()?.catch(() => {})
|
|
1383
|
+
}
|
|
1384
|
+
|
|
1310
1385
|
private async _flush(): Promise<void> {
|
|
1311
1386
|
this.clearFlushTimer()
|
|
1312
1387
|
await this._initPromise
|
|
1313
1388
|
|
|
1314
|
-
|
|
1389
|
+
const routes = this.getActiveQueueRoutes()
|
|
1315
1390
|
|
|
1316
|
-
|
|
1391
|
+
// Nothing queued on any route: return without emitting 'flush' (matches the original
|
|
1392
|
+
// single-queue early return, so empty flushes stay silent).
|
|
1393
|
+
if (!routes.some((route) => this.getRouteQueue(route).length > 0)) {
|
|
1317
1394
|
return
|
|
1318
1395
|
}
|
|
1319
1396
|
|
|
1320
1397
|
const sentMessages: any[] = []
|
|
1398
|
+
// Drain each route independently so a failure on one route can't roll back or re-send a
|
|
1399
|
+
// batch already accepted on another. We attempt every route, then surface the first error
|
|
1400
|
+
// (if any). With a single route this is identical to the previous single-queue flush.
|
|
1401
|
+
let firstError: unknown = undefined
|
|
1402
|
+
for (const route of routes) {
|
|
1403
|
+
try {
|
|
1404
|
+
await this._flushRoute(route, sentMessages)
|
|
1405
|
+
} catch (err) {
|
|
1406
|
+
if (firstError === undefined) {
|
|
1407
|
+
firstError = err
|
|
1408
|
+
}
|
|
1409
|
+
}
|
|
1410
|
+
}
|
|
1411
|
+
|
|
1412
|
+
// Preserve the original contract: on error, propagate without emitting 'flush'.
|
|
1413
|
+
if (firstError !== undefined) {
|
|
1414
|
+
throw firstError
|
|
1415
|
+
}
|
|
1416
|
+
|
|
1417
|
+
this._events.emit('flush', sentMessages)
|
|
1418
|
+
}
|
|
1419
|
+
|
|
1420
|
+
private async _flushRoute(route: string, sentMessages: any[]): Promise<void> {
|
|
1421
|
+
const queueKey = this.persistedQueueKeyForRoute(route)
|
|
1422
|
+
let queue = this.getPersistedProperty<PostHogQueueItem[]>(queueKey) || []
|
|
1423
|
+
|
|
1424
|
+
if (!queue.length) {
|
|
1425
|
+
return
|
|
1426
|
+
}
|
|
1427
|
+
|
|
1321
1428
|
const originalQueueLength = queue.length
|
|
1429
|
+
let sentFromRoute = 0
|
|
1322
1430
|
|
|
1323
|
-
while (queue.length > 0 &&
|
|
1431
|
+
while (queue.length > 0 && sentFromRoute < originalQueueLength) {
|
|
1324
1432
|
const batchItems = queue.slice(0, this.maxBatchSize)
|
|
1325
1433
|
const batchMessages = batchItems.map((item) =>
|
|
1326
1434
|
item.message === undefined ? item.message : this.normalizeMessage(item.message)
|
|
1327
1435
|
)
|
|
1328
1436
|
|
|
1329
1437
|
const persistQueueChange = async (): Promise<void> => {
|
|
1330
|
-
const refreshedQueue = this.getPersistedProperty<PostHogQueueItem[]>(
|
|
1438
|
+
const refreshedQueue = this.getPersistedProperty<PostHogQueueItem[]>(queueKey) || []
|
|
1331
1439
|
const newQueue = refreshedQueue.slice(batchItems.length)
|
|
1332
|
-
this.setPersistedProperty<PostHogQueueItem[]>(
|
|
1440
|
+
this.setPersistedProperty<PostHogQueueItem[]>(queueKey, newQueue)
|
|
1333
1441
|
queue = newQueue
|
|
1442
|
+
this._dequeuedMessagesCount += batchItems.length
|
|
1334
1443
|
// Wait for storage to complete to prevent duplicate events on app crash
|
|
1335
1444
|
await this.flushStorage()
|
|
1336
1445
|
}
|
|
1337
1446
|
|
|
1338
|
-
const data: Record<string, any> = {
|
|
1339
|
-
api_key: this.apiKey,
|
|
1340
|
-
batch: batchMessages,
|
|
1341
|
-
sent_at: currentISOTime(),
|
|
1342
|
-
}
|
|
1343
|
-
|
|
1344
|
-
if (this.historicalMigration) {
|
|
1345
|
-
data.historical_migration = true
|
|
1346
|
-
}
|
|
1347
|
-
|
|
1348
|
-
const payload = safeJsonStringify(data)
|
|
1349
|
-
|
|
1350
|
-
const url = `${this.host}/batch/`
|
|
1351
|
-
|
|
1352
|
-
const gzippedPayload = !this.disableCompression ? await gzipCompress(payload, this.isDebug) : null
|
|
1353
|
-
const fetchOptions: PostHogFetchOptions = {
|
|
1354
|
-
method: 'POST',
|
|
1355
|
-
headers: {
|
|
1356
|
-
...this.getCustomHeaders(),
|
|
1357
|
-
'Content-Type': 'application/json',
|
|
1358
|
-
...(gzippedPayload !== null && { 'Content-Encoding': 'gzip' }),
|
|
1359
|
-
},
|
|
1360
|
-
body: gzippedPayload || payload,
|
|
1361
|
-
}
|
|
1362
|
-
|
|
1363
1447
|
const retryOptions: Partial<RetriableOptions> = {
|
|
1364
1448
|
retryCheck: (err) => {
|
|
1365
1449
|
// don't automatically retry on 413 errors, we want to reduce the batch size first
|
|
@@ -1372,11 +1456,7 @@ export abstract class PostHogCoreStateless {
|
|
|
1372
1456
|
}
|
|
1373
1457
|
|
|
1374
1458
|
try {
|
|
1375
|
-
|
|
1376
|
-
// Consume the response body to prevent cross-request promise warnings
|
|
1377
|
-
// in runtimes like Cloudflare Workers that enforce body consumption.
|
|
1378
|
-
// See: https://github.com/PostHog/posthog-js/issues/3173
|
|
1379
|
-
await response.body?.cancel()?.catch(() => {})
|
|
1459
|
+
await this.sendBatch(batchMessages, retryOptions, route)
|
|
1380
1460
|
} catch (err) {
|
|
1381
1461
|
if (isPostHogFetchContentTooLargeError(err) && batchMessages.length > 1) {
|
|
1382
1462
|
// if we get a 413 error, we want to reduce the batch size and try again
|
|
@@ -1401,8 +1481,8 @@ export abstract class PostHogCoreStateless {
|
|
|
1401
1481
|
await persistQueueChange()
|
|
1402
1482
|
|
|
1403
1483
|
sentMessages.push(...batchMessages)
|
|
1484
|
+
sentFromRoute += batchMessages.length
|
|
1404
1485
|
}
|
|
1405
|
-
this._events.emit('flush', sentMessages)
|
|
1406
1486
|
}
|
|
1407
1487
|
|
|
1408
1488
|
/**
|
|
@@ -1526,12 +1606,14 @@ export abstract class PostHogCoreStateless {
|
|
|
1526
1606
|
await this.promiseQueue.join()
|
|
1527
1607
|
|
|
1528
1608
|
while (true) {
|
|
1529
|
-
const
|
|
1609
|
+
const hasQueuedEvents = this.getActiveQueueRoutes().some((route) => this.getRouteQueue(route).length > 0)
|
|
1530
1610
|
|
|
1531
|
-
if (
|
|
1611
|
+
if (!hasQueuedEvents) {
|
|
1532
1612
|
break
|
|
1533
1613
|
}
|
|
1534
1614
|
|
|
1615
|
+
const dequeuedBeforeFlush = this._dequeuedMessagesCount
|
|
1616
|
+
|
|
1535
1617
|
// flush again to make sure we send all events, some of which might've been added
|
|
1536
1618
|
// while we were waiting for the pending promises to resolve
|
|
1537
1619
|
// For example, see sendFeatureFlags in posthog-node/src/posthog-node.ts::capture
|
|
@@ -1540,6 +1622,13 @@ export abstract class PostHogCoreStateless {
|
|
|
1540
1622
|
if (hasTimedOut) {
|
|
1541
1623
|
break
|
|
1542
1624
|
}
|
|
1625
|
+
|
|
1626
|
+
if (this._dequeuedMessagesCount === dequeuedBeforeFlush) {
|
|
1627
|
+
this._logger.warn(
|
|
1628
|
+
'Shutdown flush completed but did not send any queued events. Stopping drain to avoid a loop.'
|
|
1629
|
+
)
|
|
1630
|
+
break
|
|
1631
|
+
}
|
|
1543
1632
|
}
|
|
1544
1633
|
} catch (e) {
|
|
1545
1634
|
if (!isPostHogFetchError(e)) {
|
package/src/posthog-core.ts
CHANGED
|
@@ -159,7 +159,8 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
159
159
|
/**
|
|
160
160
|
* Resets the user's ID and clears all persisted properties.
|
|
161
161
|
*
|
|
162
|
-
* Note: The event
|
|
162
|
+
* Note: The event queues (`PostHogPersistedProperty.Queue` and the isolated
|
|
163
|
+
* `PostHogPersistedProperty.AiQueue`) and the logs queue
|
|
163
164
|
* (`PostHogPersistedProperty.LogsQueue`) are always preserved regardless
|
|
164
165
|
* of what is passed in `propertiesToKeep`, to ensure in-flight data
|
|
165
166
|
* is not lost when identity changes.
|
|
@@ -170,6 +171,7 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
170
171
|
this.wrap(() => {
|
|
171
172
|
const allPropertiesToKeep = [
|
|
172
173
|
PostHogPersistedProperty.Queue,
|
|
174
|
+
PostHogPersistedProperty.AiQueue,
|
|
173
175
|
PostHogPersistedProperty.LogsQueue,
|
|
174
176
|
...(propertiesToKeep || []),
|
|
175
177
|
]
|
package/src/types.ts
CHANGED
|
@@ -267,6 +267,11 @@ export enum PostHogPersistedProperty {
|
|
|
267
267
|
BootstrapFeatureFlagPayloads = 'bootstrap_feature_flag_payloads',
|
|
268
268
|
OverrideFeatureFlags = 'override_feature_flags',
|
|
269
269
|
Queue = 'queue',
|
|
270
|
+
// Isolated capture queue for events that must not share a send cycle with the
|
|
271
|
+
// main queue. Only used by posthog-node today, to keep `$ai_*` events on the
|
|
272
|
+
// legacy (v0) transport while other events move to Capture V1 — segregated so a
|
|
273
|
+
// failure on one route can't re-send events already accepted on the other.
|
|
274
|
+
AiQueue = 'ai_queue',
|
|
270
275
|
// Logs queue. Individual SDKs may route this key to an isolated storage
|
|
271
276
|
// instance if they want to separate logs write volume from main state.
|
|
272
277
|
LogsQueue = 'logs_queue',
|