@posthog/core 1.20.0 → 1.20.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/error-tracking/error-properties-builder.d.ts +2 -2
- package/dist/error-tracking/error-properties-builder.d.ts.map +1 -1
- package/dist/error-tracking/error-properties-builder.js +5 -4
- package/dist/error-tracking/error-properties-builder.mjs +5 -4
- package/dist/error-tracking/types.d.ts +2 -0
- package/dist/error-tracking/types.d.ts.map +1 -1
- package/dist/posthog-core-stateless.d.ts +9 -0
- package/dist/posthog-core-stateless.d.ts.map +1 -1
- package/dist/posthog-core-stateless.js +5 -3
- package/dist/posthog-core-stateless.mjs +5 -3
- package/dist/posthog-core.d.ts +1 -0
- package/dist/posthog-core.d.ts.map +1 -1
- package/dist/posthog-core.js +19 -2
- package/dist/posthog-core.mjs +19 -2
- package/package.json +1 -1
- package/src/error-tracking/error-properties-builder.coerce.spec.ts +2 -1
- package/src/error-tracking/error-properties-builder.parse.spec.ts +1 -1
- package/src/error-tracking/error-properties-builder.ts +5 -4
- package/src/error-tracking/types.ts +2 -0
- package/src/posthog-core-stateless.ts +17 -3
- package/src/posthog-core.ts +35 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ErrorProperties, StackFrameModifierFn, StackParser, ErrorTrackingCoercer, EventHint } from './types';
|
|
1
|
+
import { ErrorProperties, CoercingContext, StackFrameModifierFn, StackParser, ErrorTrackingCoercer, EventHint, Mechanism } from './types';
|
|
2
2
|
export declare class ErrorPropertiesBuilder {
|
|
3
3
|
private coercers;
|
|
4
4
|
private stackParser;
|
|
@@ -13,6 +13,6 @@ export declare class ErrorPropertiesBuilder {
|
|
|
13
13
|
private applyModifiers;
|
|
14
14
|
private convertToExceptionList;
|
|
15
15
|
private buildParsingContext;
|
|
16
|
-
|
|
16
|
+
buildCoercingContext(mechanism: Mechanism, hint: EventHint, depth?: number): CoercingContext;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=error-properties-builder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error-properties-builder.d.ts","sourceRoot":"","sources":["../../src/error-tracking/error-properties-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,
|
|
1
|
+
{"version":3,"file":"error-properties-builder.d.ts","sourceRoot":"","sources":["../../src/error-tracking/error-properties-builder.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,eAAe,EAGf,eAAe,EAEf,oBAAoB,EACpB,WAAW,EACX,oBAAoB,EACpB,SAAS,EAGT,SAAS,EAGV,MAAM,SAAS,CAAA;AAIhB,qBAAa,sBAAsB;IAE/B,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,SAAS;gBAFT,QAAQ,EAAE,oBAAoB,CAAC,GAAG,CAAC,EAAE,EACrC,WAAW,EAAE,WAAW,EACxB,SAAS,GAAE,oBAAoB,EAAO;IAGhD,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,GAAE,SAAc,GAAG,eAAe;IAiBjE,YAAY,CAAC,aAAa,EAAE,eAAe,CAAC,iBAAiB,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IASlH,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,aAAa;IASrB,OAAO,CAAC,aAAa;YASP,cAAc;IAQ5B,OAAO,CAAC,sBAAsB;IA6B9B,OAAO,CAAC,mBAAmB;IAQpB,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,GAAE,MAAU,GAAG,eAAe;CAuBvG"}
|
|
@@ -43,7 +43,7 @@ class ErrorPropertiesBuilder {
|
|
|
43
43
|
};
|
|
44
44
|
const coercingContext = this.buildCoercingContext(mechanism, hint, 0);
|
|
45
45
|
const exceptionWithCause = coercingContext.apply(input);
|
|
46
|
-
const parsingContext = this.buildParsingContext();
|
|
46
|
+
const parsingContext = this.buildParsingContext(hint);
|
|
47
47
|
const exceptionWithStack = this.parseStacktrace(exceptionWithCause, parsingContext);
|
|
48
48
|
const exceptionList = this.convertToExceptionList(exceptionWithStack, mechanism);
|
|
49
49
|
return {
|
|
@@ -67,7 +67,7 @@ class ErrorPropertiesBuilder {
|
|
|
67
67
|
let cause;
|
|
68
68
|
if (null != err.cause) cause = this.parseStacktrace(err.cause, ctx);
|
|
69
69
|
let stack;
|
|
70
|
-
if ('' != err.stack && null != err.stack) stack = this.applyChunkIds(this.stackParser(err.stack, err.synthetic ?
|
|
70
|
+
if ('' != err.stack && null != err.stack) stack = this.applyChunkIds(this.stackParser(err.stack, err.synthetic ? ctx.skipFirstLines : 0), ctx.chunkIdMap);
|
|
71
71
|
return {
|
|
72
72
|
...err,
|
|
73
73
|
cause,
|
|
@@ -112,9 +112,10 @@ class ErrorPropertiesBuilder {
|
|
|
112
112
|
}));
|
|
113
113
|
return exceptionList;
|
|
114
114
|
}
|
|
115
|
-
buildParsingContext() {
|
|
115
|
+
buildParsingContext(hint) {
|
|
116
116
|
const context = {
|
|
117
|
-
chunkIdMap: (0, external_chunk_ids_js_namespaceObject.getFilenameToChunkIdMap)(this.stackParser)
|
|
117
|
+
chunkIdMap: (0, external_chunk_ids_js_namespaceObject.getFilenameToChunkIdMap)(this.stackParser),
|
|
118
|
+
skipFirstLines: hint.skipFirstLines ?? 1
|
|
118
119
|
};
|
|
119
120
|
return context;
|
|
120
121
|
}
|
|
@@ -15,7 +15,7 @@ class ErrorPropertiesBuilder {
|
|
|
15
15
|
};
|
|
16
16
|
const coercingContext = this.buildCoercingContext(mechanism, hint, 0);
|
|
17
17
|
const exceptionWithCause = coercingContext.apply(input);
|
|
18
|
-
const parsingContext = this.buildParsingContext();
|
|
18
|
+
const parsingContext = this.buildParsingContext(hint);
|
|
19
19
|
const exceptionWithStack = this.parseStacktrace(exceptionWithCause, parsingContext);
|
|
20
20
|
const exceptionList = this.convertToExceptionList(exceptionWithStack, mechanism);
|
|
21
21
|
return {
|
|
@@ -39,7 +39,7 @@ class ErrorPropertiesBuilder {
|
|
|
39
39
|
let cause;
|
|
40
40
|
if (null != err.cause) cause = this.parseStacktrace(err.cause, ctx);
|
|
41
41
|
let stack;
|
|
42
|
-
if ('' != err.stack && null != err.stack) stack = this.applyChunkIds(this.stackParser(err.stack, err.synthetic ?
|
|
42
|
+
if ('' != err.stack && null != err.stack) stack = this.applyChunkIds(this.stackParser(err.stack, err.synthetic ? ctx.skipFirstLines : 0), ctx.chunkIdMap);
|
|
43
43
|
return {
|
|
44
44
|
...err,
|
|
45
45
|
cause,
|
|
@@ -84,9 +84,10 @@ class ErrorPropertiesBuilder {
|
|
|
84
84
|
}));
|
|
85
85
|
return exceptionList;
|
|
86
86
|
}
|
|
87
|
-
buildParsingContext() {
|
|
87
|
+
buildParsingContext(hint) {
|
|
88
88
|
const context = {
|
|
89
|
-
chunkIdMap: getFilenameToChunkIdMap(this.stackParser)
|
|
89
|
+
chunkIdMap: getFilenameToChunkIdMap(this.stackParser),
|
|
90
|
+
skipFirstLines: hint.skipFirstLines ?? 1
|
|
90
91
|
};
|
|
91
92
|
return context;
|
|
92
93
|
}
|
|
@@ -10,6 +10,7 @@ export interface PolymorphicEvent {
|
|
|
10
10
|
export interface EventHint {
|
|
11
11
|
mechanism?: Partial<Mechanism>;
|
|
12
12
|
syntheticException?: Error | null;
|
|
13
|
+
skipFirstLines?: number;
|
|
13
14
|
}
|
|
14
15
|
export interface PreviouslyCapturedError {
|
|
15
16
|
__posthog_previously_captured_error?: boolean;
|
|
@@ -67,6 +68,7 @@ export interface CoercingContext extends EventHint {
|
|
|
67
68
|
export type ChunkIdMapType = Record<string, string>;
|
|
68
69
|
export interface ParsingContext {
|
|
69
70
|
chunkIdMap?: ChunkIdMapType;
|
|
71
|
+
skipFirstLines: number;
|
|
70
72
|
}
|
|
71
73
|
interface Coercer<T, U, C> {
|
|
72
74
|
match(input: unknown): input is T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/error-tracking/types.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAKxC,eAAO,MAAM,cAAc,gEAAiE,CAAA;AAC5F,MAAM,CAAC,OAAO,MAAM,aAAa,GAAG,CAAC,OAAO,cAAc,CAAC,CAAC,MAAM,CAAC,CAAA;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9B,kBAAkB,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/error-tracking/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -143,6 +143,15 @@ export declare abstract class PostHogCoreStateless {
|
|
|
143
143
|
* @returns The transformed message, or null to drop it
|
|
144
144
|
*/
|
|
145
145
|
protected processBeforeEnqueue(message: PostHogEventProperties): PostHogEventProperties | null;
|
|
146
|
+
/**
|
|
147
|
+
* Hook that allows subclasses to wait for storage operations to complete.
|
|
148
|
+
* This is called after queue changes are persisted during flush to ensure
|
|
149
|
+
* data is safely written to storage before considering events as sent.
|
|
150
|
+
*
|
|
151
|
+
* Override this in implementations with async storage (e.g., React Native)
|
|
152
|
+
* to prevent duplicate events on app crash/restart scenarios.
|
|
153
|
+
*/
|
|
154
|
+
protected flushStorage(): Promise<void>;
|
|
146
155
|
protected enqueue(type: string, _message: any, options?: PostHogCaptureOptions): void;
|
|
147
156
|
protected sendImmediate(type: string, _message: any, options?: PostHogCaptureOptions): Promise<void>;
|
|
148
157
|
protected prepareMessage(type: string, _message: any, options?: PostHogCaptureOptions): PostHogEventProperties;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"posthog-core-stateless.d.ts","sourceRoot":"","sources":["../src/posthog-core-stateless.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"posthog-core-stateless.d.ts","sourceRoot":"","sources":["../src/posthog-core-stateless.ts"],"names":[],"mappings":"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"}
|
|
@@ -466,6 +466,7 @@ class PostHogCoreStateless {
|
|
|
466
466
|
processBeforeEnqueue(message) {
|
|
467
467
|
return message;
|
|
468
468
|
}
|
|
469
|
+
async flushStorage() {}
|
|
469
470
|
enqueue(type, _message, options) {
|
|
470
471
|
this.wrap(()=>{
|
|
471
472
|
if (this.optedOut) return void this._events.emit(type, "Library is disabled. Not sending event. To re-enable, call posthog.optIn()");
|
|
@@ -581,11 +582,12 @@ class PostHogCoreStateless {
|
|
|
581
582
|
while(queue.length > 0 && sentMessages.length < originalQueueLength){
|
|
582
583
|
const batchItems = queue.slice(0, this.maxBatchSize);
|
|
583
584
|
const batchMessages = batchItems.map((item)=>item.message);
|
|
584
|
-
const persistQueueChange = ()=>{
|
|
585
|
+
const persistQueueChange = async ()=>{
|
|
585
586
|
const refreshedQueue = this.getPersistedProperty(external_types_js_namespaceObject.PostHogPersistedProperty.Queue) || [];
|
|
586
587
|
const newQueue = refreshedQueue.slice(batchItems.length);
|
|
587
588
|
this.setPersistedProperty(external_types_js_namespaceObject.PostHogPersistedProperty.Queue, newQueue);
|
|
588
589
|
queue = newQueue;
|
|
590
|
+
await this.flushStorage();
|
|
589
591
|
};
|
|
590
592
|
const data = {
|
|
591
593
|
api_key: this.apiKey,
|
|
@@ -621,11 +623,11 @@ class PostHogCoreStateless {
|
|
|
621
623
|
this._logger.warn(`Received 413 when sending batch of size ${batchMessages.length}, reducing batch size to ${this.maxBatchSize}`);
|
|
622
624
|
continue;
|
|
623
625
|
}
|
|
624
|
-
if (!(err instanceof PostHogFetchNetworkError)) persistQueueChange();
|
|
626
|
+
if (!(err instanceof PostHogFetchNetworkError)) await persistQueueChange();
|
|
625
627
|
this._events.emit('error', err);
|
|
626
628
|
throw err;
|
|
627
629
|
}
|
|
628
|
-
persistQueueChange();
|
|
630
|
+
await persistQueueChange();
|
|
629
631
|
sentMessages.push(...batchMessages);
|
|
630
632
|
}
|
|
631
633
|
this._events.emit('flush', sentMessages);
|
|
@@ -435,6 +435,7 @@ class PostHogCoreStateless {
|
|
|
435
435
|
processBeforeEnqueue(message) {
|
|
436
436
|
return message;
|
|
437
437
|
}
|
|
438
|
+
async flushStorage() {}
|
|
438
439
|
enqueue(type, _message, options) {
|
|
439
440
|
this.wrap(()=>{
|
|
440
441
|
if (this.optedOut) return void this._events.emit(type, "Library is disabled. Not sending event. To re-enable, call posthog.optIn()");
|
|
@@ -550,11 +551,12 @@ class PostHogCoreStateless {
|
|
|
550
551
|
while(queue.length > 0 && sentMessages.length < originalQueueLength){
|
|
551
552
|
const batchItems = queue.slice(0, this.maxBatchSize);
|
|
552
553
|
const batchMessages = batchItems.map((item)=>item.message);
|
|
553
|
-
const persistQueueChange = ()=>{
|
|
554
|
+
const persistQueueChange = async ()=>{
|
|
554
555
|
const refreshedQueue = this.getPersistedProperty(PostHogPersistedProperty.Queue) || [];
|
|
555
556
|
const newQueue = refreshedQueue.slice(batchItems.length);
|
|
556
557
|
this.setPersistedProperty(PostHogPersistedProperty.Queue, newQueue);
|
|
557
558
|
queue = newQueue;
|
|
559
|
+
await this.flushStorage();
|
|
558
560
|
};
|
|
559
561
|
const data = {
|
|
560
562
|
api_key: this.apiKey,
|
|
@@ -590,11 +592,11 @@ class PostHogCoreStateless {
|
|
|
590
592
|
this._logger.warn(`Received 413 when sending batch of size ${batchMessages.length}, reducing batch size to ${this.maxBatchSize}`);
|
|
591
593
|
continue;
|
|
592
594
|
}
|
|
593
|
-
if (!(err instanceof PostHogFetchNetworkError)) persistQueueChange();
|
|
595
|
+
if (!(err instanceof PostHogFetchNetworkError)) await persistQueueChange();
|
|
594
596
|
this._events.emit('error', err);
|
|
595
597
|
throw err;
|
|
596
598
|
}
|
|
597
|
-
persistQueueChange();
|
|
599
|
+
await persistQueueChange();
|
|
598
600
|
sentMessages.push(...batchMessages);
|
|
599
601
|
}
|
|
600
602
|
this._events.emit('flush', sentMessages);
|
package/dist/posthog-core.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export declare abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
9
9
|
protected _sessionExpirationTimeSeconds: number;
|
|
10
10
|
private _sessionMaxLengthSeconds;
|
|
11
11
|
protected sessionProps: PostHogEventProperties;
|
|
12
|
+
private _pendingFlagsRequest?;
|
|
12
13
|
protected _personProfiles: 'always' | 'identified_only' | 'never';
|
|
13
14
|
protected _cachedPersonProperties: string | null;
|
|
14
15
|
constructor(apiKey: string, options?: PostHogCoreOptions);
|
|
@@ -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,EAGhB,yBAAyB,EAKzB,sBAAsB,EAGvB,MAAM,SAAS,CAAA;AAShB,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":"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"}
|
package/dist/posthog-core.js
CHANGED
|
@@ -296,7 +296,18 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
296
296
|
}
|
|
297
297
|
async flagsAsync(sendAnonDistinctId = true, fetchConfig = true) {
|
|
298
298
|
await this._initPromise;
|
|
299
|
-
if (this._flagsResponsePromise)
|
|
299
|
+
if (this._flagsResponsePromise) {
|
|
300
|
+
this._logger.info('Feature flags are being loaded already, queuing reload.');
|
|
301
|
+
if (this._pendingFlagsRequest) this._flagsResponsePromise.then(this._pendingFlagsRequest.resolve).catch(this._pendingFlagsRequest.reject);
|
|
302
|
+
return new Promise((resolve, reject)=>{
|
|
303
|
+
this._pendingFlagsRequest = {
|
|
304
|
+
sendAnonDistinctId,
|
|
305
|
+
fetchConfig,
|
|
306
|
+
resolve,
|
|
307
|
+
reject
|
|
308
|
+
};
|
|
309
|
+
});
|
|
310
|
+
}
|
|
300
311
|
return this._flagsAsync(sendAnonDistinctId, fetchConfig);
|
|
301
312
|
}
|
|
302
313
|
cacheSessionReplay(source, response) {
|
|
@@ -369,7 +380,7 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
369
380
|
flags: this.getKnownFeatureFlagDetails()?.flags ?? {},
|
|
370
381
|
quotaLimited: res.quotaLimited
|
|
371
382
|
});
|
|
372
|
-
|
|
383
|
+
this._logger.warn('[FEATURE FLAGS] Feature flags quota limit exceeded. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts');
|
|
373
384
|
return res;
|
|
374
385
|
}
|
|
375
386
|
if (res?.featureFlags) {
|
|
@@ -401,6 +412,12 @@ class PostHogCore extends external_posthog_core_stateless_js_namespaceObject.Pos
|
|
|
401
412
|
return res;
|
|
402
413
|
}).finally(()=>{
|
|
403
414
|
this._flagsResponsePromise = void 0;
|
|
415
|
+
const pendingRequest = this._pendingFlagsRequest;
|
|
416
|
+
if (pendingRequest) {
|
|
417
|
+
this._pendingFlagsRequest = void 0;
|
|
418
|
+
this._logger.info('Executing pending feature flags reload.');
|
|
419
|
+
this.flagsAsync(pendingRequest.sendAnonDistinctId, pendingRequest.fetchConfig).then(pendingRequest.resolve).catch(pendingRequest.reject);
|
|
420
|
+
}
|
|
404
421
|
});
|
|
405
422
|
return this._flagsResponsePromise;
|
|
406
423
|
}
|
package/dist/posthog-core.mjs
CHANGED
|
@@ -268,7 +268,18 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
268
268
|
}
|
|
269
269
|
async flagsAsync(sendAnonDistinctId = true, fetchConfig = true) {
|
|
270
270
|
await this._initPromise;
|
|
271
|
-
if (this._flagsResponsePromise)
|
|
271
|
+
if (this._flagsResponsePromise) {
|
|
272
|
+
this._logger.info('Feature flags are being loaded already, queuing reload.');
|
|
273
|
+
if (this._pendingFlagsRequest) this._flagsResponsePromise.then(this._pendingFlagsRequest.resolve).catch(this._pendingFlagsRequest.reject);
|
|
274
|
+
return new Promise((resolve, reject)=>{
|
|
275
|
+
this._pendingFlagsRequest = {
|
|
276
|
+
sendAnonDistinctId,
|
|
277
|
+
fetchConfig,
|
|
278
|
+
resolve,
|
|
279
|
+
reject
|
|
280
|
+
};
|
|
281
|
+
});
|
|
282
|
+
}
|
|
272
283
|
return this._flagsAsync(sendAnonDistinctId, fetchConfig);
|
|
273
284
|
}
|
|
274
285
|
cacheSessionReplay(source, response) {
|
|
@@ -341,7 +352,7 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
341
352
|
flags: this.getKnownFeatureFlagDetails()?.flags ?? {},
|
|
342
353
|
quotaLimited: res.quotaLimited
|
|
343
354
|
});
|
|
344
|
-
|
|
355
|
+
this._logger.warn('[FEATURE FLAGS] Feature flags quota limit exceeded. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts');
|
|
345
356
|
return res;
|
|
346
357
|
}
|
|
347
358
|
if (res?.featureFlags) {
|
|
@@ -373,6 +384,12 @@ class PostHogCore extends PostHogCoreStateless {
|
|
|
373
384
|
return res;
|
|
374
385
|
}).finally(()=>{
|
|
375
386
|
this._flagsResponsePromise = void 0;
|
|
387
|
+
const pendingRequest = this._pendingFlagsRequest;
|
|
388
|
+
if (pendingRequest) {
|
|
389
|
+
this._pendingFlagsRequest = void 0;
|
|
390
|
+
this._logger.info('Executing pending feature flags reload.');
|
|
391
|
+
this.flagsAsync(pendingRequest.sendAnonDistinctId, pendingRequest.fetchConfig).then(pendingRequest.resolve).catch(pendingRequest.reject);
|
|
392
|
+
}
|
|
376
393
|
});
|
|
377
394
|
return this._flagsResponsePromise;
|
|
378
395
|
}
|
package/package.json
CHANGED
|
@@ -2,6 +2,7 @@ import { DOMExceptionCoercer, ErrorEventCoercer, ErrorCoercer, ObjectCoercer, St
|
|
|
2
2
|
import { PrimitiveCoercer } from './coercers/primitive-coercer'
|
|
3
3
|
import { PromiseRejectionEventCoercer } from './coercers/promise-rejection-event'
|
|
4
4
|
import { ErrorPropertiesBuilder } from './error-properties-builder'
|
|
5
|
+
import { createStackParser } from './parsers'
|
|
5
6
|
import { ExceptionLike } from './types'
|
|
6
7
|
|
|
7
8
|
describe('ErrorPropertiesBuilder', () => {
|
|
@@ -24,7 +25,7 @@ describe('ErrorPropertiesBuilder', () => {
|
|
|
24
25
|
new StringCoercer(),
|
|
25
26
|
new PrimitiveCoercer(),
|
|
26
27
|
],
|
|
27
|
-
|
|
28
|
+
createStackParser('web:javascript'),
|
|
28
29
|
[]
|
|
29
30
|
)
|
|
30
31
|
|
|
@@ -11,7 +11,7 @@ describe('ErrorPropertiesBuilder', () => {
|
|
|
11
11
|
)
|
|
12
12
|
|
|
13
13
|
function parseStack(error: Error): StackFrame[] | undefined {
|
|
14
|
-
const ctx = {}
|
|
14
|
+
const ctx = { skipFirstLines: 1 }
|
|
15
15
|
//@ts-expect-error: testing private method
|
|
16
16
|
const exception = errorPropertiesBuilder.parseStacktrace(
|
|
17
17
|
{
|
|
@@ -34,7 +34,7 @@ export class ErrorPropertiesBuilder {
|
|
|
34
34
|
}
|
|
35
35
|
const coercingContext: CoercingContext = this.buildCoercingContext(mechanism, hint, 0)
|
|
36
36
|
const exceptionWithCause = coercingContext.apply(input)
|
|
37
|
-
const parsingContext: ParsingContext = this.buildParsingContext()
|
|
37
|
+
const parsingContext: ParsingContext = this.buildParsingContext(hint)
|
|
38
38
|
const exceptionWithStack = this.parseStacktrace(exceptionWithCause, parsingContext)
|
|
39
39
|
const exceptionList = this.convertToExceptionList(exceptionWithStack, mechanism)
|
|
40
40
|
return {
|
|
@@ -68,7 +68,7 @@ export class ErrorPropertiesBuilder {
|
|
|
68
68
|
}
|
|
69
69
|
let stack: StackFrame[] | undefined = undefined
|
|
70
70
|
if (err.stack != '' && err.stack != null) {
|
|
71
|
-
stack = this.applyChunkIds(this.stackParser(err.stack, err.synthetic ?
|
|
71
|
+
stack = this.applyChunkIds(this.stackParser(err.stack, err.synthetic ? ctx.skipFirstLines : 0), ctx.chunkIdMap)
|
|
72
72
|
}
|
|
73
73
|
return { ...err, cause, stack }
|
|
74
74
|
}
|
|
@@ -128,14 +128,15 @@ export class ErrorPropertiesBuilder {
|
|
|
128
128
|
return exceptionList
|
|
129
129
|
}
|
|
130
130
|
|
|
131
|
-
private buildParsingContext(): ParsingContext {
|
|
131
|
+
private buildParsingContext(hint: EventHint): ParsingContext {
|
|
132
132
|
const context = {
|
|
133
133
|
chunkIdMap: getFilenameToChunkIdMap(this.stackParser),
|
|
134
|
+
skipFirstLines: hint.skipFirstLines ?? 1,
|
|
134
135
|
} as ParsingContext
|
|
135
136
|
return context
|
|
136
137
|
}
|
|
137
138
|
|
|
138
|
-
|
|
139
|
+
public buildCoercingContext(mechanism: Mechanism, hint: EventHint, depth: number = 0): CoercingContext {
|
|
139
140
|
const coerce = (input: unknown, depth: number) => {
|
|
140
141
|
if (depth <= MAX_CAUSE_RECURSION) {
|
|
141
142
|
const ctx = this.buildCoercingContext(mechanism, hint, depth)
|
|
@@ -19,6 +19,7 @@ export interface PolymorphicEvent {
|
|
|
19
19
|
export interface EventHint {
|
|
20
20
|
mechanism?: Partial<Mechanism>
|
|
21
21
|
syntheticException?: Error | null
|
|
22
|
+
skipFirstLines?: number
|
|
22
23
|
}
|
|
23
24
|
|
|
24
25
|
export interface PreviouslyCapturedError {
|
|
@@ -86,6 +87,7 @@ export type ChunkIdMapType = Record<string, string>
|
|
|
86
87
|
|
|
87
88
|
export interface ParsingContext {
|
|
88
89
|
chunkIdMap?: ChunkIdMapType
|
|
90
|
+
skipFirstLines: number
|
|
89
91
|
}
|
|
90
92
|
|
|
91
93
|
interface Coercer<T, U, C> {
|
|
@@ -862,6 +862,18 @@ export abstract class PostHogCoreStateless {
|
|
|
862
862
|
return message
|
|
863
863
|
}
|
|
864
864
|
|
|
865
|
+
/**
|
|
866
|
+
* Hook that allows subclasses to wait for storage operations to complete.
|
|
867
|
+
* This is called after queue changes are persisted during flush to ensure
|
|
868
|
+
* data is safely written to storage before considering events as sent.
|
|
869
|
+
*
|
|
870
|
+
* Override this in implementations with async storage (e.g., React Native)
|
|
871
|
+
* to prevent duplicate events on app crash/restart scenarios.
|
|
872
|
+
*/
|
|
873
|
+
protected async flushStorage(): Promise<void> {
|
|
874
|
+
// Default: no-op for sync storage implementations
|
|
875
|
+
}
|
|
876
|
+
|
|
865
877
|
protected enqueue(type: string, _message: any, options?: PostHogCaptureOptions): void {
|
|
866
878
|
this.wrap(() => {
|
|
867
879
|
if (this.optedOut) {
|
|
@@ -1078,11 +1090,13 @@ export abstract class PostHogCoreStateless {
|
|
|
1078
1090
|
const batchItems = queue.slice(0, this.maxBatchSize)
|
|
1079
1091
|
const batchMessages = batchItems.map((item) => item.message)
|
|
1080
1092
|
|
|
1081
|
-
const persistQueueChange = (): void => {
|
|
1093
|
+
const persistQueueChange = async (): Promise<void> => {
|
|
1082
1094
|
const refreshedQueue = this.getPersistedProperty<PostHogQueueItem[]>(PostHogPersistedProperty.Queue) || []
|
|
1083
1095
|
const newQueue = refreshedQueue.slice(batchItems.length)
|
|
1084
1096
|
this.setPersistedProperty<PostHogQueueItem[]>(PostHogPersistedProperty.Queue, newQueue)
|
|
1085
1097
|
queue = newQueue
|
|
1098
|
+
// Wait for storage to complete to prevent duplicate events on app crash
|
|
1099
|
+
await this.flushStorage()
|
|
1086
1100
|
}
|
|
1087
1101
|
|
|
1088
1102
|
const data: Record<string, any> = {
|
|
@@ -1137,14 +1151,14 @@ export abstract class PostHogCoreStateless {
|
|
|
1137
1151
|
// depending on the error type, eg a malformed JSON or broken queue, it'll always return an error
|
|
1138
1152
|
// and this will be an endless loop, in this case, if the error isn't a network issue, we always remove the items from the queue
|
|
1139
1153
|
if (!(err instanceof PostHogFetchNetworkError)) {
|
|
1140
|
-
persistQueueChange()
|
|
1154
|
+
await persistQueueChange()
|
|
1141
1155
|
}
|
|
1142
1156
|
this._events.emit('error', err)
|
|
1143
1157
|
|
|
1144
1158
|
throw err
|
|
1145
1159
|
}
|
|
1146
1160
|
|
|
1147
|
-
persistQueueChange()
|
|
1161
|
+
await persistQueueChange()
|
|
1148
1162
|
|
|
1149
1163
|
sentMessages.push(...batchMessages)
|
|
1150
1164
|
}
|
package/src/posthog-core.ts
CHANGED
|
@@ -32,6 +32,14 @@ import { maybeAdd, PostHogCoreStateless, QuotaLimitedFeature } from './posthog-c
|
|
|
32
32
|
import { uuidv7 } from './vendor/uuidv7'
|
|
33
33
|
import { isEmptyObject, isNullish, isPlainError, getPersonPropertiesHash, isObject } from './utils'
|
|
34
34
|
|
|
35
|
+
// Stores the parameters for a pending feature flags reload request
|
|
36
|
+
interface PendingFlagsRequest {
|
|
37
|
+
sendAnonDistinctId: boolean
|
|
38
|
+
fetchConfig: boolean
|
|
39
|
+
resolve: (value: PostHogFeatureFlagsResponse | undefined) => void
|
|
40
|
+
reject: (reason?: unknown) => void
|
|
41
|
+
}
|
|
42
|
+
|
|
35
43
|
export abstract class PostHogCore extends PostHogCoreStateless {
|
|
36
44
|
// options
|
|
37
45
|
private sendFeatureFlagEvent: boolean
|
|
@@ -44,6 +52,10 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
44
52
|
private _sessionMaxLengthSeconds: number = 24 * 60 * 60 // 24 hours
|
|
45
53
|
protected sessionProps: PostHogEventProperties = {}
|
|
46
54
|
|
|
55
|
+
// Track if an additional reload was requested while a request was in flight
|
|
56
|
+
// This prevents dropping reload requests (e.g., from identify()) when preload is in progress
|
|
57
|
+
private _pendingFlagsRequest?: PendingFlagsRequest
|
|
58
|
+
|
|
47
59
|
// person profiles
|
|
48
60
|
protected _personProfiles: 'always' | 'identified_only' | 'never'
|
|
49
61
|
|
|
@@ -516,7 +528,17 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
516
528
|
): Promise<PostHogFeatureFlagsResponse | undefined> {
|
|
517
529
|
await this._initPromise
|
|
518
530
|
if (this._flagsResponsePromise) {
|
|
519
|
-
|
|
531
|
+
// Queue the reload request instead of dropping it
|
|
532
|
+
// This ensures that requests with $anon_distinct_id (from identify()) are not lost
|
|
533
|
+
this._logger.info('Feature flags are being loaded already, queuing reload.')
|
|
534
|
+
// Resolve any existing pending promise with the in-flight request's result to avoid hanging promises
|
|
535
|
+
if (this._pendingFlagsRequest) {
|
|
536
|
+
this._flagsResponsePromise.then(this._pendingFlagsRequest.resolve).catch(this._pendingFlagsRequest.reject)
|
|
537
|
+
}
|
|
538
|
+
// Return a promise that resolves when the pending request completes
|
|
539
|
+
return new Promise((resolve, reject) => {
|
|
540
|
+
this._pendingFlagsRequest = { sendAnonDistinctId, fetchConfig, resolve, reject }
|
|
541
|
+
})
|
|
520
542
|
}
|
|
521
543
|
return this._flagsAsync(sendAnonDistinctId, fetchConfig)
|
|
522
544
|
}
|
|
@@ -650,7 +672,7 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
650
672
|
flags: this.getKnownFeatureFlagDetails()?.flags ?? {},
|
|
651
673
|
quotaLimited: res.quotaLimited,
|
|
652
674
|
})
|
|
653
|
-
|
|
675
|
+
this._logger.warn(
|
|
654
676
|
'[FEATURE FLAGS] Feature flags quota limit exceeded. Learn more about billing limits at https://posthog.com/docs/billing/limits-alerts'
|
|
655
677
|
)
|
|
656
678
|
return res
|
|
@@ -694,6 +716,17 @@ export abstract class PostHogCore extends PostHogCoreStateless {
|
|
|
694
716
|
})
|
|
695
717
|
.finally(() => {
|
|
696
718
|
this._flagsResponsePromise = undefined
|
|
719
|
+
|
|
720
|
+
// Check if there's a pending reload request and execute it
|
|
721
|
+
const pendingRequest = this._pendingFlagsRequest
|
|
722
|
+
if (pendingRequest) {
|
|
723
|
+
this._pendingFlagsRequest = undefined
|
|
724
|
+
this._logger.info('Executing pending feature flags reload.')
|
|
725
|
+
// Execute the pending request and resolve its promise with the result
|
|
726
|
+
this.flagsAsync(pendingRequest.sendAnonDistinctId, pendingRequest.fetchConfig)
|
|
727
|
+
.then(pendingRequest.resolve)
|
|
728
|
+
.catch(pendingRequest.reject)
|
|
729
|
+
}
|
|
697
730
|
})
|
|
698
731
|
return this._flagsResponsePromise
|
|
699
732
|
}
|