@baukit/analytics-posthog-native 0.8.0 → 0.9.0

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAEd,SAAS,EACV,MAAM,wBAAwB,CAAC;AAEhC,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,OAAO,CACL,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC9C,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GACtC,OAAO,CAAC;IACX,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAClF,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,oBAAoB,CAAC,GAAG,EAAE,GAAG,wBAAwB,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAChF;AAED,KAAK,0BAA0B,GAC3B,WAAW,GACX,2BAA2B,GAC3B,+BAA+B,GAC/B,sCAAsC,GACtC,gBAAgB,GAChB,qBAAqB,GACrB,eAAe,GACf,MAAM,GACN,gBAAgB,GAChB,qBAAqB,GACrB,4BAA4B,GAC5B,cAAc,CAAC;AAEnB,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;AAExF,MAAM,MAAM,wBAAwB,GAAG,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,KACpB,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAExD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,KAAK,aAAa,GAAG,CACnB,aAAa,EAAE,iBAAiB,KAC7B,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAgExD,kFAAkF;AAClF,qBAAa,sBAAsB,CACjC,CAAC,SAAS,cAAc,GAAG,cAAc,CACzC,YAAW,SAAS,CAAC,CAAC,CAAC;;gBAUrB,MAAM,EAAE,mBAAmB,GAAG,aAAa,EAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAMpC,8EAA8E;IACjE,IAAI,CAAC,SAAS,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyC5E,kEAAkE;IAC3D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CA2FrC;AAED,wEAAwE;AACxE,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EACpF,MAAM,EAAE,4BAA4B,GACnC,sBAAsB,CAAC,CAAC,CAAC,CAuB3B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EACV,iBAAiB,EACjB,cAAc,EAEd,SAAS,EACV,MAAM,wBAAwB,CAAC;AAEhC,8EAA8E;AAC9E,MAAM,WAAW,mBAAmB;IAClC,OAAO,CACL,KAAK,EAAE,MAAM,EACb,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EAC9C,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAA;KAAE,GACtC,OAAO,CAAC;IACX,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,OAAO,CAAC;IAClF,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,KAAK,IAAI,OAAO,CAAC;IACjB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC/B,oBAAoB,CAAC,GAAG,EAAE,GAAG,wBAAwB,EAAE,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;CAChF;AAED,KAAK,0BAA0B,GAC3B,WAAW,GACX,2BAA2B,GAC3B,+BAA+B,GAC/B,sCAAsC,GACtC,gBAAgB,GAChB,qBAAqB,GACrB,eAAe,GACf,MAAM,GACN,gBAAgB,GAChB,qBAAqB,GACrB,4BAA4B,GAC5B,cAAc,CAAC;AAEnB,MAAM,MAAM,wBAAwB,GAAG,IAAI,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;AAExF,MAAM,MAAM,wBAAwB,GAAG,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,cAAc,KACpB,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAExD,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,kEAAkE;IAClE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,wBAAwB,CAAC;IAC5C,QAAQ,CAAC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IAChD,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC7C;AAED,KAAK,aAAa,GAAG,CACnB,aAAa,EAAE,iBAAiB,KAC7B,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAgExD,kFAAkF;AAClF,qBAAa,sBAAsB,CACjC,CAAC,SAAS,cAAc,GAAG,cAAc,CACzC,YAAW,SAAS,CAAC,CAAC,CAAC;;gBAUrB,MAAM,EAAE,mBAAmB,GAAG,aAAa,EAC3C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI;IAMpC,8EAA8E;IACjE,IAAI,CAAC,SAAS,EAAE,SAAS,iBAAiB,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IA+C5E,kEAAkE;IAC3D,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;CAgGrC;AAED,wEAAwE;AACxE,wBAAgB,4BAA4B,CAAC,CAAC,SAAS,cAAc,GAAG,cAAc,EACpF,MAAM,EAAE,4BAA4B,GACnC,sBAAsB,CAAC,CAAC,CAAC,CAuB3B"}
package/dist/index.js CHANGED
@@ -84,15 +84,20 @@ export class PostHogNativeTransport {
84
84
  }
85
85
  this.#clearRequired = false;
86
86
  }
87
- if (!(await this.#optIn(client))) {
88
- return;
89
- }
90
87
  for (const envelope of envelopes) {
91
88
  if (generation !== this.#clearGeneration) {
92
89
  return;
93
90
  }
91
+ if (!(await this.#optIn(client, generation)) || generation !== this.#clearGeneration) {
92
+ return;
93
+ }
94
94
  try {
95
95
  await this.#dispatch(client, envelope);
96
+ if (envelope.type === 'reset' &&
97
+ generation === this.#clearGeneration &&
98
+ !(await this.#optIn(client, generation))) {
99
+ return;
100
+ }
96
101
  }
97
102
  catch (error) {
98
103
  this.#reportError(error);
@@ -145,16 +150,21 @@ export class PostHogNativeTransport {
145
150
  await Promise.resolve(client.alias(envelope.user_id));
146
151
  break;
147
152
  case 'reset':
153
+ this.#providerOptedOut = true;
148
154
  await Promise.resolve(client.reset());
149
155
  break;
150
156
  }
151
157
  }
152
- async #optIn(client) {
158
+ async #optIn(client, generation) {
153
159
  if (!this.#providerOptedOut) {
154
160
  return true;
155
161
  }
156
162
  try {
157
163
  await Promise.resolve(client.optIn());
164
+ if (generation !== this.#clearGeneration) {
165
+ await this.#purgeClient(client);
166
+ return false;
167
+ }
158
168
  this.#providerOptedOut = false;
159
169
  return true;
160
170
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@baukit/analytics-posthog-native",
3
- "version": "0.8.0",
3
+ "version": "0.9.0",
4
4
  "description": "PostHog React Native transport for @baukit/analytics-core.",
5
5
  "license": "MIT",
6
6
  "author": "Patrick Koss",
@@ -52,7 +52,7 @@
52
52
  "typescript": "6.0.3"
53
53
  },
54
54
  "peerDependencies": {
55
- "@baukit/analytics-core": "^0.8.0",
55
+ "@baukit/analytics-core": "^0.9.0",
56
56
  "posthog-react-native": "^4.78.3"
57
57
  },
58
58
  "peerDependenciesMeta": {
package/src/index.test.ts CHANGED
@@ -57,7 +57,10 @@ function createMockClient(): MockClient {
57
57
  },
58
58
  identify,
59
59
  alias,
60
- reset,
60
+ reset() {
61
+ reset();
62
+ optedOut = true;
63
+ },
61
64
  optIn() {
62
65
  optIn();
63
66
  optedOut = false;
@@ -144,6 +147,71 @@ describe('PostHogNativeTransport mapping', () => {
144
147
  expect(posthog.reset).toHaveBeenCalledWith();
145
148
  });
146
149
 
150
+ it('restores SDK consent after reset, in the same batch and later batches', async () => {
151
+ const posthog = createMockClient();
152
+ const transport = new PostHogNativeTransport<ProductEvent>(posthog.client);
153
+ const capture = lifecycleEnvelopes().slice(0, 1);
154
+ const reset = lifecycleEnvelopes().slice(3);
155
+
156
+ await transport.send([...capture, ...reset, ...capture]);
157
+ await transport.send(capture);
158
+
159
+ expect(posthog.optIn).toHaveBeenCalledTimes(2);
160
+ expect(posthog.queue).toEqual(Array<string>(3).fill('onboarding_started'));
161
+ });
162
+
163
+ it('keeps consent withdrawn while an asynchronous reset finishes', async () => {
164
+ const posthog = createMockClient();
165
+ let finishReset: (() => void) | undefined;
166
+ const reset = vi.fn<() => Promise<void>>(
167
+ () =>
168
+ new Promise<void>((resolve) => {
169
+ finishReset = resolve;
170
+ }),
171
+ );
172
+ const client = { ...posthog.client, reset };
173
+ const transport = new PostHogNativeTransport<ProductEvent>(client);
174
+ await transport.send(lifecycleEnvelopes().slice(0, 1));
175
+ const sending = transport.send(lifecycleEnvelopes().slice(3));
176
+ await vi.waitFor(() => {
177
+ expect(finishReset).toBeDefined();
178
+ });
179
+ await transport.clearPending();
180
+ finishReset?.();
181
+ await sending;
182
+
183
+ expect(posthog.optIn).toHaveBeenCalledOnce();
184
+ expect(posthog.optOut).toHaveBeenCalledOnce();
185
+ expect(posthog.queue).toEqual([]);
186
+ });
187
+
188
+ it('keeps consent withdrawn when SDK opt-in finishes after withdrawal', async () => {
189
+ const posthog = createMockClient();
190
+ let finishOptIn: (() => Promise<void>) | undefined;
191
+ const optIn = vi.fn<() => Promise<void>>(
192
+ () =>
193
+ new Promise<void>((resolve) => {
194
+ finishOptIn = async () => {
195
+ await posthog.client.optIn();
196
+ resolve();
197
+ };
198
+ }),
199
+ );
200
+ const transport = new PostHogNativeTransport<ProductEvent>({ ...posthog.client, optIn });
201
+ const sending = transport.send(lifecycleEnvelopes().slice(0, 1));
202
+ await vi.waitFor(() => {
203
+ expect(finishOptIn).toBeDefined();
204
+ });
205
+ await transport.clearPending();
206
+ await finishOptIn?.();
207
+ await sending;
208
+
209
+ expect(posthog.capture).not.toHaveBeenCalled();
210
+ expect(posthog.optOut).toHaveBeenCalledTimes(2);
211
+ await Promise.resolve(posthog.client.capture('consent_probe'));
212
+ expect(posthog.queue).toEqual([]);
213
+ });
214
+
147
215
  it('contains client and diagnostic failures', async () => {
148
216
  const posthog = createMockClient();
149
217
  posthog.capture.mockImplementation(() => {
package/src/index.ts CHANGED
@@ -164,16 +164,22 @@ export class PostHogNativeTransport<
164
164
  }
165
165
  this.#clearRequired = false;
166
166
  }
167
- if (!(await this.#optIn(client))) {
168
- return;
169
- }
170
-
171
167
  for (const envelope of envelopes) {
172
168
  if (generation !== this.#clearGeneration) {
173
169
  return;
174
170
  }
171
+ if (!(await this.#optIn(client, generation)) || generation !== this.#clearGeneration) {
172
+ return;
173
+ }
175
174
  try {
176
175
  await this.#dispatch(client, envelope);
176
+ if (
177
+ envelope.type === 'reset' &&
178
+ generation === this.#clearGeneration &&
179
+ !(await this.#optIn(client, generation))
180
+ ) {
181
+ return;
182
+ }
177
183
  } catch (error: unknown) {
178
184
  this.#reportError(error);
179
185
  }
@@ -231,17 +237,22 @@ export class PostHogNativeTransport<
231
237
  await Promise.resolve(client.alias(envelope.user_id));
232
238
  break;
233
239
  case 'reset':
240
+ this.#providerOptedOut = true;
234
241
  await Promise.resolve(client.reset());
235
242
  break;
236
243
  }
237
244
  }
238
245
 
239
- async #optIn(client: PostHogNativeClient): Promise<boolean> {
246
+ async #optIn(client: PostHogNativeClient, generation: number): Promise<boolean> {
240
247
  if (!this.#providerOptedOut) {
241
248
  return true;
242
249
  }
243
250
  try {
244
251
  await Promise.resolve(client.optIn());
252
+ if (generation !== this.#clearGeneration) {
253
+ await this.#purgeClient(client);
254
+ return false;
255
+ }
245
256
  this.#providerOptedOut = false;
246
257
  return true;
247
258
  } catch (error: unknown) {