@posthog/core 1.48.9 → 1.48.10

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.
@@ -41,13 +41,12 @@ export declare function isPostHogFetchContentTooLargeError(err: unknown): err is
41
41
  status: 413;
42
42
  };
43
43
  /**
44
- * Outcome of a logs batch send. Keeps HTTP error classification inside core
45
- * (single source of truth — same policy events already use in `_flush()`) so
44
+ * Outcome of a logs batch send. Keeps HTTP error classification inside core so
46
45
  * PostHogLogs doesn't need to know about specific error types.
47
46
  *
48
47
  * - ok → records are accepted; drop them from the queue
49
48
  * - too-large → 413; caller should halve batch size and retry same records
50
- * - retry-later → network error; caller keeps records and retries next cycle
49
+ * - retry-later → retryable network or HTTP error; caller keeps records and retries next cycle
51
50
  * - fatal → anything else (auth, malformed, etc.); caller drops the
52
51
  * batch and surfaces the error
53
52
  */
@@ -329,22 +328,17 @@ export declare abstract class PostHogCoreStateless {
329
328
  private _flush;
330
329
  private _flushRoute;
331
330
  /**
332
- * Sends a pre-built OTLP logs payload to `/i/v1/logs`. Returns a tagged
333
- * outcome instead of throwing so PostHogLogs doesn't have to know about the
334
- * core's error class hierarchy. Error classification lives here (single
335
- * source of truth, same policy the events `_flush()` uses for its own
336
- * 413 / network / fatal handling).
331
+ * Shared implementation behind the OTLP senders, which differ only in path.
332
+ * Returns a tagged outcome instead of throwing so the queue owners don't
333
+ * have to know the core's error class hierarchy.
337
334
  *
338
- * 413 is passed through as `too-large` (not auto-retried) so the caller can
339
- * shrink `maxBatchRecordsPerPost` and retry the same records.
335
+ * Exhausted 408/429/5xx stay `retry-later`, unlike the events `_flush()`
336
+ * which drops anything that isn't a network error: every OTLP queue is
337
+ * bounded and retried with backoff, so holding a batch through an outage can
338
+ * neither grow without limit nor spin.
340
339
  */
340
+ private _sendOtlpBatch;
341
341
  _sendLogsBatch(payload: OtlpLogsPayload): Promise<SendLogsBatchOutcome>;
342
- /**
343
- * Sends a pre-built OTLP metrics payload to `/i/v1/metrics`. Same tagged
344
- * outcome contract and error classification as `_sendLogsBatch` — this is
345
- * the `MetricsHost._sendMetricsBatch` implementation, so `PostHogMetrics`
346
- * can use any core-based SDK as its host.
347
- */
348
342
  _sendMetricsBatch(payload: OtlpMetricsPayload): Promise<SendMetricsBatchOutcome>;
349
343
  private fetchWithRetry;
350
344
  _shutdown(shutdownTimeoutMs?: number): Promise<void>;
@@ -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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"}
@@ -845,13 +845,13 @@ class PostHogCoreStateless {
845
845
  sentFromRoute += batchMessages.length;
846
846
  }
847
847
  }
848
- async _sendLogsBatch(payload) {
848
+ async _sendOtlpBatch({ path, payload }) {
849
849
  if (this.disabled) return {
850
850
  kind: 'fatal',
851
851
  error: new Error('The client is disabled')
852
852
  };
853
853
  const serialized = JSON.stringify(payload);
854
- const url = `${this.host}/i/v1/logs?token=${encodeURIComponent(this.apiKey)}`;
854
+ const url = `${this.host}/i/v1/${path}?token=${encodeURIComponent(this.apiKey)}`;
855
855
  const gzippedPayload = this.disableCompression ? null : await this.compressPayload(serialized);
856
856
  const fetchOptions = {
857
857
  method: 'POST',
@@ -880,7 +880,7 @@ class PostHogCoreStateless {
880
880
  if (isPostHogFetchContentTooLargeError(err)) return {
881
881
  kind: 'too-large'
882
882
  };
883
- if (err instanceof PostHogFetchNetworkError) return {
883
+ if (isPostHogFetchRetryableError(err)) return {
884
884
  kind: 'retry-later',
885
885
  error: err
886
886
  };
@@ -890,50 +890,17 @@ class PostHogCoreStateless {
890
890
  };
891
891
  }
892
892
  }
893
+ async _sendLogsBatch(payload) {
894
+ return this._sendOtlpBatch({
895
+ path: 'logs',
896
+ payload
897
+ });
898
+ }
893
899
  async _sendMetricsBatch(payload) {
894
- if (this.disabled) return {
895
- kind: 'fatal',
896
- error: new Error('The client is disabled')
897
- };
898
- const serialized = JSON.stringify(payload);
899
- const url = `${this.host}/i/v1/metrics?token=${encodeURIComponent(this.apiKey)}`;
900
- const gzippedPayload = this.disableCompression ? null : await this.compressPayload(serialized);
901
- const fetchOptions = {
902
- method: 'POST',
903
- headers: {
904
- ...this.getCustomHeaders(),
905
- 'Content-Type': 'application/json',
906
- ...null !== gzippedPayload && {
907
- 'Content-Encoding': 'gzip'
908
- }
909
- },
910
- body: gzippedPayload || serialized
911
- };
912
- try {
913
- await this.fetchWithRetry(url, fetchOptions, {
914
- type: 'successful-write'
915
- }, {
916
- retryCheck: (err)=>{
917
- if (isPostHogFetchContentTooLargeError(err)) return false;
918
- return isPostHogFetchRetryableError(err);
919
- }
920
- });
921
- return {
922
- kind: 'ok'
923
- };
924
- } catch (err) {
925
- if (isPostHogFetchContentTooLargeError(err)) return {
926
- kind: 'too-large'
927
- };
928
- if (isPostHogFetchRetryableError(err)) return {
929
- kind: 'retry-later',
930
- error: err
931
- };
932
- return {
933
- kind: 'fatal',
934
- error: err
935
- };
936
- }
900
+ return this._sendOtlpBatch({
901
+ path: 'metrics',
902
+ payload
903
+ });
937
904
  }
938
905
  async fetchWithRetry(url, options, responseHandling, retryOptions, requestTimeout) {
939
906
  const body = options.body ? options.body : '';
@@ -811,13 +811,13 @@ class PostHogCoreStateless {
811
811
  sentFromRoute += batchMessages.length;
812
812
  }
813
813
  }
814
- async _sendLogsBatch(payload) {
814
+ async _sendOtlpBatch({ path, payload }) {
815
815
  if (this.disabled) return {
816
816
  kind: 'fatal',
817
817
  error: new Error('The client is disabled')
818
818
  };
819
819
  const serialized = JSON.stringify(payload);
820
- const url = `${this.host}/i/v1/logs?token=${encodeURIComponent(this.apiKey)}`;
820
+ const url = `${this.host}/i/v1/${path}?token=${encodeURIComponent(this.apiKey)}`;
821
821
  const gzippedPayload = this.disableCompression ? null : await this.compressPayload(serialized);
822
822
  const fetchOptions = {
823
823
  method: 'POST',
@@ -846,7 +846,7 @@ class PostHogCoreStateless {
846
846
  if (isPostHogFetchContentTooLargeError(err)) return {
847
847
  kind: 'too-large'
848
848
  };
849
- if (err instanceof PostHogFetchNetworkError) return {
849
+ if (isPostHogFetchRetryableError(err)) return {
850
850
  kind: 'retry-later',
851
851
  error: err
852
852
  };
@@ -856,50 +856,17 @@ class PostHogCoreStateless {
856
856
  };
857
857
  }
858
858
  }
859
+ async _sendLogsBatch(payload) {
860
+ return this._sendOtlpBatch({
861
+ path: 'logs',
862
+ payload
863
+ });
864
+ }
859
865
  async _sendMetricsBatch(payload) {
860
- if (this.disabled) return {
861
- kind: 'fatal',
862
- error: new Error('The client is disabled')
863
- };
864
- const serialized = JSON.stringify(payload);
865
- const url = `${this.host}/i/v1/metrics?token=${encodeURIComponent(this.apiKey)}`;
866
- const gzippedPayload = this.disableCompression ? null : await this.compressPayload(serialized);
867
- const fetchOptions = {
868
- method: 'POST',
869
- headers: {
870
- ...this.getCustomHeaders(),
871
- 'Content-Type': 'application/json',
872
- ...null !== gzippedPayload && {
873
- 'Content-Encoding': 'gzip'
874
- }
875
- },
876
- body: gzippedPayload || serialized
877
- };
878
- try {
879
- await this.fetchWithRetry(url, fetchOptions, {
880
- type: 'successful-write'
881
- }, {
882
- retryCheck: (err)=>{
883
- if (isPostHogFetchContentTooLargeError(err)) return false;
884
- return isPostHogFetchRetryableError(err);
885
- }
886
- });
887
- return {
888
- kind: 'ok'
889
- };
890
- } catch (err) {
891
- if (isPostHogFetchContentTooLargeError(err)) return {
892
- kind: 'too-large'
893
- };
894
- if (isPostHogFetchRetryableError(err)) return {
895
- kind: 'retry-later',
896
- error: err
897
- };
898
- return {
899
- kind: 'fatal',
900
- error: err
901
- };
902
- }
866
+ return this._sendOtlpBatch({
867
+ path: 'metrics',
868
+ payload
869
+ });
903
870
  }
904
871
  async fetchWithRetry(url, options, responseHandling, retryOptions, requestTimeout) {
905
872
  const body = options.body ? options.body : '';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@posthog/core",
3
- "version": "1.48.9",
3
+ "version": "1.48.10",
4
4
  "bugs": {
5
5
  "url": "https://github.com/PostHog/posthog-js/issues"
6
6
  },
@@ -70,7 +70,7 @@
70
70
  }
71
71
  },
72
72
  "dependencies": {
73
- "@posthog/types": "^1.405.1"
73
+ "@posthog/types": "^1.405.2"
74
74
  },
75
75
  "devDependencies": {
76
76
  "@rslib/core": "0.10.6",
@@ -1,4 +1,5 @@
1
1
  import { PostHogPersistedProperty } from '../types'
2
+ import { createTestClient, PostHogCoreTestClient } from '../testing'
2
3
  import type { Logger } from '../types'
3
4
  import { PostHogLogs } from './index'
4
5
  import type { BufferedLogEntry, ResolvedPostHogLogsConfig } from './types'
@@ -80,6 +81,82 @@ const getContextFor = (instance: any) => (): { distinctId?: string; sessionId?:
80
81
  sessionId: instance.getSessionId() || undefined,
81
82
  })
82
83
 
84
+ // Drives a real core host rather than a stubbed `_sendLogsBatch`, so the sender's
85
+ // error classification and the queue bookkeeping are exercised together.
86
+ describe('PostHogLogs over the core sender', () => {
87
+ const createLogsOverCore = (status: number): { logs: PostHogLogs; client: PostHogCoreTestClient } => {
88
+ const [client, mocks] = createTestClient('TEST_API_KEY', {
89
+ fetchRetryCount: 0,
90
+ preloadFeatureFlags: false,
91
+ })
92
+ mocks.fetch.mockResolvedValue({
93
+ status,
94
+ text: () => Promise.resolve('err'),
95
+ json: () => Promise.resolve({ status: 'err' }),
96
+ })
97
+ const logs = new PostHogLogs(
98
+ client,
99
+ resolveForTest(),
100
+ createMockLogger(),
101
+ () => ({ distinctId: 'user-123' }),
102
+ immediateOnReady
103
+ )
104
+ return { logs, client }
105
+ }
106
+
107
+ const queueOf = (client: PostHogCoreTestClient): BufferedLogEntry[] =>
108
+ client.getPersistedProperty<BufferedLogEntry[]>(PostHogPersistedProperty.LogsQueue) ?? []
109
+
110
+ it.each([408, 429, 500, 503])('keeps records queued when the endpoint answers %i', async (status) => {
111
+ const { logs, client } = createLogsOverCore(status)
112
+ logs.captureLog({ body: 'keep me' })
113
+
114
+ await expect(logs.flush()).rejects.toHaveProperty('name', 'PostHogFetchHttpError')
115
+
116
+ expect(queueOf(client)).toHaveLength(1)
117
+ })
118
+
119
+ it('retains and resends records after transport retries are exhausted', async () => {
120
+ jest.useRealTimers()
121
+ const [client, mocks] = createTestClient('TEST_API_KEY', {
122
+ fetchRetryCount: 2,
123
+ fetchRetryDelay: 1,
124
+ preloadFeatureFlags: false,
125
+ })
126
+ const unavailableResponse = { status: 503, text: async () => 'unavailable', json: async () => ({}) }
127
+ mocks.fetch
128
+ .mockResolvedValueOnce(unavailableResponse)
129
+ .mockResolvedValueOnce(unavailableResponse)
130
+ .mockResolvedValueOnce(unavailableResponse)
131
+ .mockResolvedValueOnce({ status: 200, text: async () => 'ok', json: async () => ({}) })
132
+ const logs = new PostHogLogs(
133
+ client,
134
+ resolveForTest(),
135
+ createMockLogger(),
136
+ () => ({ distinctId: 'user-123' }),
137
+ immediateOnReady
138
+ )
139
+
140
+ logs.captureLog({ body: 'retry me' })
141
+ await expect(logs.flush()).rejects.toHaveProperty('name', 'PostHogFetchHttpError')
142
+ expect(mocks.fetch).toHaveBeenCalledTimes(3)
143
+ expect(queueOf(client)).toHaveLength(1)
144
+
145
+ await expect(logs.flush()).resolves.toBeUndefined()
146
+ expect(mocks.fetch).toHaveBeenCalledTimes(4)
147
+ expect(queueOf(client)).toHaveLength(0)
148
+ })
149
+
150
+ it('drops the batch when the endpoint answers 401', async () => {
151
+ const { logs, client } = createLogsOverCore(401)
152
+ logs.captureLog({ body: 'unauthorized' })
153
+
154
+ await expect(logs.flush()).rejects.toHaveProperty('name', 'PostHogFetchHttpError')
155
+
156
+ expect(queueOf(client)).toHaveLength(0)
157
+ })
158
+ })
159
+
83
160
  describe('PostHogLogs', () => {
84
161
  let mockInstance: any
85
162
  let logger: Logger
package/src/logs/index.ts CHANGED
@@ -262,7 +262,7 @@ export class PostHogLogs {
262
262
  }
263
263
 
264
264
  if (outcome.kind === 'retry-later') {
265
- // Network error: keep records in the queue for the next flush cycle
265
+ // Transient failure: keep records in the queue for the next flush cycle
266
266
  // and surface the error so the caller can log/react.
267
267
  throw outcome.error
268
268
  }
@@ -222,13 +222,12 @@ function isPostHogEventProperties(value: JsonType | undefined): value is PostHog
222
222
  }
223
223
 
224
224
  /**
225
- * Outcome of a logs batch send. Keeps HTTP error classification inside core
226
- * (single source of truth — same policy events already use in `_flush()`) so
225
+ * Outcome of a logs batch send. Keeps HTTP error classification inside core so
227
226
  * PostHogLogs doesn't need to know about specific error types.
228
227
  *
229
228
  * - ok → records are accepted; drop them from the queue
230
229
  * - too-large → 413; caller should halve batch size and retry same records
231
- * - retry-later → network error; caller keeps records and retries next cycle
230
+ * - retry-later → retryable network or HTTP error; caller keeps records and retries next cycle
232
231
  * - fatal → anything else (auth, malformed, etc.); caller drops the
233
232
  * batch and surfaces the error
234
233
  */
@@ -238,6 +237,17 @@ export type SendLogsBatchOutcome =
238
237
  | { kind: 'retry-later'; error: unknown }
239
238
  | { kind: 'fatal'; error: unknown }
240
239
 
240
+ /**
241
+ * Each signal keeps its own exported outcome type because each belongs to a
242
+ * separate host contract. The wrappers return this value directly, so one
243
+ * drifting out of shape fails to compile.
244
+ */
245
+ type SendOtlpBatchOutcome =
246
+ | { kind: 'ok' }
247
+ | { kind: 'too-large' }
248
+ | { kind: 'retry-later'; error: unknown }
249
+ | { kind: 'fatal'; error: unknown }
250
+
241
251
  export enum QuotaLimitedFeature {
242
252
  FeatureFlags = 'feature_flags',
243
253
  Recordings = 'recordings',
@@ -1633,22 +1643,28 @@ export abstract class PostHogCoreStateless {
1633
1643
  }
1634
1644
 
1635
1645
  /**
1636
- * Sends a pre-built OTLP logs payload to `/i/v1/logs`. Returns a tagged
1637
- * outcome instead of throwing so PostHogLogs doesn't have to know about the
1638
- * core's error class hierarchy. Error classification lives here (single
1639
- * source of truth, same policy the events `_flush()` uses for its own
1640
- * 413 / network / fatal handling).
1646
+ * Shared implementation behind the OTLP senders, which differ only in path.
1647
+ * Returns a tagged outcome instead of throwing so the queue owners don't
1648
+ * have to know the core's error class hierarchy.
1641
1649
  *
1642
- * 413 is passed through as `too-large` (not auto-retried) so the caller can
1643
- * shrink `maxBatchRecordsPerPost` and retry the same records.
1650
+ * Exhausted 408/429/5xx stay `retry-later`, unlike the events `_flush()`
1651
+ * which drops anything that isn't a network error: every OTLP queue is
1652
+ * bounded and retried with backoff, so holding a batch through an outage can
1653
+ * neither grow without limit nor spin.
1644
1654
  */
1645
- async _sendLogsBatch(payload: OtlpLogsPayload): Promise<SendLogsBatchOutcome> {
1655
+ private async _sendOtlpBatch({
1656
+ path,
1657
+ payload,
1658
+ }: {
1659
+ path: 'logs' | 'metrics'
1660
+ payload: OtlpLogsPayload | OtlpMetricsPayload
1661
+ }): Promise<SendOtlpBatchOutcome> {
1646
1662
  if (this.disabled) {
1647
1663
  return { kind: 'fatal', error: new Error('The client is disabled') }
1648
1664
  }
1649
1665
 
1650
1666
  const serialized = JSON.stringify(payload)
1651
- const url = `${this.host}/i/v1/logs?token=${encodeURIComponent(this.apiKey)}`
1667
+ const url = `${this.host}/i/v1/${path}?token=${encodeURIComponent(this.apiKey)}`
1652
1668
 
1653
1669
  const gzippedPayload = !this.disableCompression ? await this.compressPayload(serialized) : null
1654
1670
  const fetchOptions: PostHogFetchOptions = {
@@ -1680,65 +1696,19 @@ export abstract class PostHogCoreStateless {
1680
1696
  if (isPostHogFetchContentTooLargeError(err)) {
1681
1697
  return { kind: 'too-large' }
1682
1698
  }
1683
- if (err instanceof PostHogFetchNetworkError) {
1699
+ if (isPostHogFetchRetryableError(err)) {
1684
1700
  return { kind: 'retry-later', error: err }
1685
1701
  }
1686
1702
  return { kind: 'fatal', error: err }
1687
1703
  }
1688
1704
  }
1689
1705
 
1690
- /**
1691
- * Sends a pre-built OTLP metrics payload to `/i/v1/metrics`. Same tagged
1692
- * outcome contract and error classification as `_sendLogsBatch` — this is
1693
- * the `MetricsHost._sendMetricsBatch` implementation, so `PostHogMetrics`
1694
- * can use any core-based SDK as its host.
1695
- */
1696
- async _sendMetricsBatch(payload: OtlpMetricsPayload): Promise<SendMetricsBatchOutcome> {
1697
- if (this.disabled) {
1698
- return { kind: 'fatal', error: new Error('The client is disabled') }
1699
- }
1700
-
1701
- const serialized = JSON.stringify(payload)
1702
- const url = `${this.host}/i/v1/metrics?token=${encodeURIComponent(this.apiKey)}`
1703
-
1704
- const gzippedPayload = !this.disableCompression ? await this.compressPayload(serialized) : null
1705
- const fetchOptions: PostHogFetchOptions = {
1706
- method: 'POST',
1707
- headers: {
1708
- ...this.getCustomHeaders(),
1709
- 'Content-Type': 'application/json',
1710
- ...(gzippedPayload !== null && { 'Content-Encoding': 'gzip' }),
1711
- },
1712
- body: gzippedPayload || serialized,
1713
- }
1706
+ async _sendLogsBatch(payload: OtlpLogsPayload): Promise<SendLogsBatchOutcome> {
1707
+ return this._sendOtlpBatch({ path: 'logs', payload })
1708
+ }
1714
1709
 
1715
- try {
1716
- await this.fetchWithRetry(
1717
- url,
1718
- fetchOptions,
1719
- { type: 'successful-write' },
1720
- {
1721
- retryCheck: (err) => {
1722
- if (isPostHogFetchContentTooLargeError(err)) {
1723
- return false
1724
- }
1725
- return isPostHogFetchRetryableError(err)
1726
- },
1727
- }
1728
- )
1729
- return { kind: 'ok' }
1730
- } catch (err) {
1731
- if (isPostHogFetchContentTooLargeError(err)) {
1732
- return { kind: 'too-large' }
1733
- }
1734
- // Exhausted retries on a retryable failure (network error, 408/429/5xx)
1735
- // still classify as retry-later so the window rides the next flush; only
1736
- // non-retryable HTTP errors (and 413 above) drop the batch.
1737
- if (isPostHogFetchRetryableError(err)) {
1738
- return { kind: 'retry-later', error: err }
1739
- }
1740
- return { kind: 'fatal', error: err }
1741
- }
1710
+ async _sendMetricsBatch(payload: OtlpMetricsPayload): Promise<SendMetricsBatchOutcome> {
1711
+ return this._sendOtlpBatch({ path: 'metrics', payload })
1742
1712
  }
1743
1713
 
1744
1714
  private fetchWithRetry<T>(