@rocapine/rocalytics-sdk 0.2.0 → 0.3.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.
package/CHANGELOG.md CHANGED
@@ -7,8 +7,15 @@ The format follows Keep a Changelog, and the project follows Semantic Versioning
7
7
  Versions before 1.0.0 may include breaking changes in a minor release. Once 1.0.0 is released, the entries before it may be truncated from this file.
8
8
 
9
9
  ## [Unreleased]
10
+ ## [0.3.0] - 2026-10-13
11
+ ### Added
12
+ - `@rocapine/rocalytics-sdk/client`: the `identifyOnStart` option of `RocalyticsClient`, default `true` (unchanged behaviour).
13
+ - With `false`, start-up still reads or mints the roca id and still sends `install` once per device, but sends no identify and does not read the device identifiers it would carry.
14
+ - For a host that already identifies the device with richer fields. Without it, each launch also sends a thinner identify, and its `locale` (the device locale) can disagree with the host's (the language picked in the app), so the stored `locale` depends on which call lands last.
15
+ - With `false`, the host must call `identify()` before anything that needs the device's identity row, such as `sendOnboardingRun`.
16
+
10
17
 
11
- ## [0.2.0] - unreleased
18
+ ## [0.2.0] - 2026-10-12
12
19
 
13
20
  ### Changed
14
21
  - Published to the public npm registry instead of GitHub Packages: `npm install @rocapine/rocalytics-sdk` needs no `.npmrc` and no token.
package/README.md CHANGED
@@ -6,7 +6,7 @@ Headless client SDK for Onboarding Studio. The first surface is the **onboarding
6
6
  - **One payload contract.** Every send is a snapshot in the shape of the [onboarding run contract v1](docs/onboarding-run-contract.md) (`schema_version: 1`), with a [JSON Schema](docs/onboarding-run.schema.json) and [TypeScript types](docs/onboarding-run.types.ts). The contract is authoritative; this README only explains how the tracker applies it.
7
7
  - **Pluggable transport.** Snapshots go to a sink. The stock sink POSTs to an HTTP collector you configure.
8
8
 
9
- > Status: `0.2.0`, not yet published. 0.2.0 is the first version published to npm; 0.1.0 never was.
9
+ > Status: `0.3.0` is the latest version on npm. 0.2.0 is the first published version; 0.1.0 never was.
10
10
 
11
11
  ## Installing
12
12
 
@@ -360,7 +360,9 @@ export function setUpOnboardingTracking(storage: KeyValueStorage, context: () =>
360
360
 
361
361
  ### API
362
362
 
363
- `new RocalyticsClient(options?)`. Every option is for tests or unusual hosts: `modules` (your own native modules, or `null` to run inert), `fetch`, `baseUrl`, `clock` and `onDiagnostic` (default `console.warn`).
363
+ `new RocalyticsClient(options?)`. Every option is for tests or unusual hosts: `modules` (your own native modules, or `null` to run inert), `fetch`, `baseUrl`, `clock`, `onDiagnostic` (default `console.warn`) and `identifyOnStart`.
364
+
365
+ `identifyOnStart` (default `true`) controls the identify the client sends at start-up, `{ idfv, android_id, locale }` with the device locale. Pass `false` when the app already identifies the device itself with richer fields: otherwise every launch also sends that thinner identify, and its `locale` (the device's) can disagree with the one the app sends (the language picked in the app), so whichever lands last wins. With `false`, start-up still reads or mints the roca id and still sends `install` once, but sends no identify. The app must then call `identify()` before anything that needs the device's identity row, such as `sendOnboardingRun` (its endpoint answers 404 for a roca id that was never identified).
364
366
 
365
367
  | Member | |
366
368
  |---|---|
@@ -390,7 +392,7 @@ A method whose request gets a non-2xx answer rejects with `[ROCALYTICS] <endpoin
390
392
 
391
393
  The ingest keeps one onboarding per roca id, so report a flow through the sink or through `trackOnboarding`, not both.
392
394
 
393
- That endpoint answers success with a 2xx and no body, so a 2xx is accepted. Otherwise the contract's rule applies: only a body saying `{"outcome": "rejected"}` is permanent, and every other answer is transient and retried. That includes a 400 without such a body, and a 404. Every send waits for `ready`, so a 404 (no identity for this roca id) means the start-up identify failed in this session. The retries stop failing once an identify succeeds, at the next launch or through the app's own `identify()` call.
395
+ That endpoint answers success with a 2xx and no body, so a 2xx is accepted. Otherwise the contract's rule applies: only a body saying `{"outcome": "rejected"}` is permanent, and every other answer is transient and retried. That includes a 400 without such a body, and a 404. Every send waits for `ready`, so a 404 (no identity for this roca id) means no identify has succeeded for it yet: the start-up identify failed in this session, or `identifyOnStart` is `false` and the app has not identified the device yet. The retries stop failing once an identify succeeds: through the app's own `identify()` call, or at the next launch when `identifyOnStart` is on.
394
396
 
395
397
  **Known limits.**
396
398
 
@@ -443,6 +445,6 @@ Changes are recorded in [`CHANGELOG.md`](CHANGELOG.md), in Keep a Changelog form
443
445
  1. Move the Unreleased entries under a new `## [x.y.z] - YYYY-MM-DD` heading. Use `unreleased` instead of the date until the version is published.
444
446
  2. Leave an empty `## [Unreleased]` section above it.
445
447
 
446
- To publish, from a clean checkout of `main`: `npm ci`, then `npm publish`. `publishConfig` sends it to the public npm registry, and `prepublishOnly` runs lint, the test type-check, the tests and the exports check first, so a failing tree cannot be published. Publishing needs an npm account with publish rights on the `@rocapine` scope (`npm login`).
448
+ To publish, bump the version and its CHANGELOG heading on `main`, then create a GitHub release tagged `v<version>` (for example `v0.3.0`). `.github/workflows/publish.yml` publishes it to npm through trusted publishing (OIDC): no npm token exists, and provenance is attached. The workflow refuses a tag that does not match `package.json`, and `prepublishOnly` runs lint, the test type-check, the tests, a build and the exports check first (npm runs it before `prepack`, so it builds itself), so a failing tree cannot be published. A prerelease version (`x.y.z-rc.1`) is published under the `next` dist-tag, never `latest`.
447
449
 
448
450
  A test fails if the `package.json` version has no matching heading, or if the Unreleased section is missing.
@@ -32,11 +32,21 @@ export interface RocalyticsClientOptions {
32
32
  clock?: Clock;
33
33
  /** Receives why the client went inert, or why its start-up failed. Default: `console.warn`. */
34
34
  onDiagnostic?: DiagnosticHandler;
35
+ /**
36
+ * Whether start-up identifies the device with `{ idfv, android_id, locale }`.
37
+ * Default `true`. Pass `false` when the host runs its own identify: start-up
38
+ * then still reads or mints the roca id and sends `install` once, but sends
39
+ * no identify. The host must then call `identify()` before anything that
40
+ * needs the device's identity row, such as `sendOnboardingRun`, whose
41
+ * endpoint answers 404 for a roca id that has never been identified.
42
+ */
43
+ identifyOnStart?: boolean;
35
44
  }
36
45
  /**
37
46
  * The Rocalytics client. Create one per app, at startup: the constructor
38
- * starts it (reads or mints the device's roca id, identifies the device,
39
- * sends `install` once per device), and every method waits for that.
47
+ * starts it (reads or mints the device's roca id, identifies the device
48
+ * unless `identifyOnStart` is `false`, sends `install` once per device), and
49
+ * every method waits for that.
40
50
  *
41
51
  * Inert when it cannot run: a native module is missing from the binary, or
42
52
  * the stored id cannot be read. `ready` still resolves, `rocaId` stays null,
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
@@ -22,8 +22,9 @@ const intlOptions = () => Intl.DateTimeFormat().resolvedOptions();
22
22
  const message = (error) => (error instanceof Error ? error.message : String(error));
23
23
  /**
24
24
  * The Rocalytics client. Create one per app, at startup: the constructor
25
- * starts it (reads or mints the device's roca id, identifies the device,
26
- * sends `install` once per device), and every method waits for that.
25
+ * starts it (reads or mints the device's roca id, identifies the device
26
+ * unless `identifyOnStart` is `false`, sends `install` once per device), and
27
+ * every method waits for that.
27
28
  *
28
29
  * Inert when it cannot run: a native module is missing from the binary, or
29
30
  * the stored id cannot be read. `ready` still resolves, `rocaId` stays null,
@@ -235,9 +236,11 @@ class RocalyticsClient {
235
236
  }
236
237
  this.native = native;
237
238
  try {
238
- const idfv = native.platform.OS === "ios" ? await native.application.getIosIdForVendorAsync() : null;
239
- const androidId = native.platform.OS === "android" ? native.application.getAndroidId() : null;
240
- await this.sendIdentify({ idfv, android_id: androidId, locale: intlOptions().locale });
239
+ if (this.options.identifyOnStart !== false) {
240
+ const idfv = native.platform.OS === "ios" ? await native.application.getIosIdForVendorAsync() : null;
241
+ const androidId = native.platform.OS === "android" ? native.application.getAndroidId() : null;
242
+ await this.sendIdentify({ idfv, android_id: androidId, locale: intlOptions().locale });
243
+ }
241
244
  this.deviceContext = await this.readDeviceContext(native);
242
245
  let tracked = await store.getItemAsync(exports.INSTALL_TRACKED_KEY);
243
246
  for (const key of exports.LEGACY_INSTALL_TRACKED_KEYS)
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  /** This package's version, sent as `context.library_version`. A test keeps it equal to package.json. */
2
- export declare const LIBRARY_VERSION = "0.2.0";
2
+ export declare const LIBRARY_VERSION = "0.3.0";
3
3
  //# sourceMappingURL=version.d.ts.map
package/dist/version.js CHANGED
@@ -2,5 +2,5 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.LIBRARY_VERSION = void 0;
4
4
  /** This package's version, sent as `context.library_version`. A test keeps it equal to package.json. */
5
- exports.LIBRARY_VERSION = "0.2.0";
5
+ exports.LIBRARY_VERSION = "0.3.0";
6
6
  //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rocapine/rocalytics-sdk",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "description": "Headless client SDK for Onboarding Studio: a typed onboarding run tracker for any onboarding, including hand-coded ones, and the Rocalytics client",
5
5
  "keywords": [
6
6
  "onboarding",
@@ -70,7 +70,7 @@
70
70
  "scripts": {
71
71
  "build": "rm -rf dist && tsc -p tsconfig.json",
72
72
  "prepack": "npm run build",
73
- "prepublishOnly": "npm run lint && npm run type:check:tests && npm test && npm run check:exports",
73
+ "prepublishOnly": "npm run lint && npm run type:check:tests && npm test && npm run build && npm run check:exports",
74
74
  "type:check": "tsc -p tsconfig.json --noEmit",
75
75
  "type:check:tests": "tsc -p tsconfig.test.json",
76
76
  "lint": "eslint .",
@@ -57,6 +57,15 @@ export interface RocalyticsClientOptions {
57
57
  clock?: Clock;
58
58
  /** Receives why the client went inert, or why its start-up failed. Default: `console.warn`. */
59
59
  onDiagnostic?: DiagnosticHandler;
60
+ /**
61
+ * Whether start-up identifies the device with `{ idfv, android_id, locale }`.
62
+ * Default `true`. Pass `false` when the host runs its own identify: start-up
63
+ * then still reads or mints the roca id and sends `install` once, but sends
64
+ * no identify. The host must then call `identify()` before anything that
65
+ * needs the device's identity row, such as `sendOnboardingRun`, whose
66
+ * endpoint answers 404 for a roca id that has never been identified.
67
+ */
68
+ identifyOnStart?: boolean;
60
69
  }
61
70
 
62
71
  const intlOptions = () => Intl.DateTimeFormat().resolvedOptions();
@@ -64,8 +73,9 @@ const message = (error: unknown) => (error instanceof Error ? error.message : St
64
73
 
65
74
  /**
66
75
  * The Rocalytics client. Create one per app, at startup: the constructor
67
- * starts it (reads or mints the device's roca id, identifies the device,
68
- * sends `install` once per device), and every method waits for that.
76
+ * starts it (reads or mints the device's roca id, identifies the device
77
+ * unless `identifyOnStart` is `false`, sends `install` once per device), and
78
+ * every method waits for that.
69
79
  *
70
80
  * Inert when it cannot run: a native module is missing from the binary, or
71
81
  * the stored id cannot be read. `ready` still resolves, `rocaId` stays null,
@@ -272,9 +282,11 @@ export class RocalyticsClient {
272
282
  }
273
283
  this.native = native;
274
284
  try {
275
- const idfv = native.platform.OS === "ios" ? await native.application.getIosIdForVendorAsync() : null;
276
- const androidId = native.platform.OS === "android" ? native.application.getAndroidId() : null;
277
- await this.sendIdentify({ idfv, android_id: androidId, locale: intlOptions().locale });
285
+ if (this.options.identifyOnStart !== false) {
286
+ const idfv = native.platform.OS === "ios" ? await native.application.getIosIdForVendorAsync() : null;
287
+ const androidId = native.platform.OS === "android" ? native.application.getAndroidId() : null;
288
+ await this.sendIdentify({ idfv, android_id: androidId, locale: intlOptions().locale });
289
+ }
278
290
 
279
291
  this.deviceContext = await this.readDeviceContext(native);
280
292
 
package/src/version.ts CHANGED
@@ -1,2 +1,2 @@
1
1
  /** This package's version, sent as `context.library_version`. A test keeps it equal to package.json. */
2
- export const LIBRARY_VERSION = "0.2.0";
2
+ export const LIBRARY_VERSION = "0.3.0";