@cxpinsight/react-native 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 +69 -0
- package/README.md +22 -0
- package/lib/CXPinsight.d.ts +24 -1
- package/lib/CXPinsight.d.ts.map +1 -1
- package/lib/CXPinsight.js +95 -5
- package/lib/CXPinsight.js.map +1 -1
- package/lib/core/consent.d.ts +21 -0
- package/lib/core/consent.d.ts.map +1 -0
- package/lib/core/consent.js +131 -0
- package/lib/core/consent.js.map +1 -0
- package/lib/core/eventQueue.d.ts.map +1 -1
- package/lib/core/eventQueue.js +7 -0
- package/lib/core/eventQueue.js.map +1 -1
- package/lib/core/mobileRecorder.d.ts +6 -0
- package/lib/core/mobileRecorder.d.ts.map +1 -1
- package/lib/core/mobileRecorder.js +54 -2
- package/lib/core/mobileRecorder.js.map +1 -1
- package/lib/core/networkCapture.d.ts +3 -0
- package/lib/core/networkCapture.d.ts.map +1 -1
- package/lib/core/networkCapture.js +40 -4
- package/lib/core/networkCapture.js.map +1 -1
- package/lib/setup/TouchPatcher.d.ts +1 -0
- package/lib/setup/TouchPatcher.d.ts.map +1 -1
- package/lib/setup/TouchPatcher.js +8 -2
- package/lib/setup/TouchPatcher.js.map +1 -1
- package/lib/survey/SurveyModal.d.ts.map +1 -1
- package/lib/survey/SurveyModal.js +7 -1
- package/lib/survey/SurveyModal.js.map +1 -1
- package/lib/survey/expressionEval.d.ts.map +1 -1
- package/lib/survey/expressionEval.js +7 -2
- package/lib/survey/expressionEval.js.map +1 -1
- package/lib/survey/questions/TextQuestion.d.ts +9 -1
- package/lib/survey/questions/TextQuestion.d.ts.map +1 -1
- package/lib/survey/questions/TextQuestion.js +15 -3
- package/lib/survey/questions/TextQuestion.js.map +1 -1
- package/lib/types.d.ts +2 -0
- package/lib/types.d.ts.map +1 -1
- package/lib/types.js +3 -0
- package/lib/types.js.map +1 -1
- package/package.json +2 -1
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 0.3.0
|
|
4
|
+
|
|
5
|
+
### Added
|
|
6
|
+
- **Consent API** — `optIn()`, `optOut()`, `consent(granted)` and `getConsent()`,
|
|
7
|
+
with a `requireConsent` init flag. Same names and semantics as the web SDK, so
|
|
8
|
+
an app on both channels wires up one concept. With `requireConsent` on, events
|
|
9
|
+
are *held* in the queue while a decision is pending rather than dropped, so a
|
|
10
|
+
visitor who accepts a banner a few seconds in keeps the opening of their
|
|
11
|
+
session. Declining clears the buffer and stops recording and network capture.
|
|
12
|
+
The decision persists across launches.
|
|
13
|
+
- `CHANGELOG.md`, shipped with the package.
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
- **Network capture scrubs identifiers out of request paths.** Stripping the
|
|
17
|
+
query string was never enough: REST paths carry identity directly, so
|
|
18
|
+
`/customers/user@example.com/orders` merely moved the personal data one
|
|
19
|
+
delimiter left. Email, numeric-id, UUID, ObjectId and opaque-token segments now
|
|
20
|
+
collapse to `:id`.
|
|
21
|
+
|
|
22
|
+
This changes the shape of captured `api_call` data: routes that previously
|
|
23
|
+
appeared as thousands of distinct literal paths now aggregate as one. That is
|
|
24
|
+
the intent — per-user paths were never useful analytics — but it is visible in
|
|
25
|
+
the dashboard, so it is a deliberate break rather than a silent one.
|
|
26
|
+
- Setup mode no longer writes to `console` outside debug builds.
|
|
27
|
+
|
|
28
|
+
### Unchanged
|
|
29
|
+
- `requireConsent` defaults to `false`. An app that does not set it behaves
|
|
30
|
+
exactly as before, and a test asserts that.
|
|
31
|
+
|
|
32
|
+
## 0.2.0
|
|
33
|
+
|
|
34
|
+
First published release.
|
|
35
|
+
|
|
36
|
+
### Added
|
|
37
|
+
- Compiled CommonJS + type declarations. Previously `main` and `types` pointed at
|
|
38
|
+
`src/index.ts`, so the package shipped raw TypeScript: consumers' Metro had to
|
|
39
|
+
transform it out of `node_modules`, their Jest needed a
|
|
40
|
+
`transformIgnorePatterns` entry, and the package's own type errors landed in
|
|
41
|
+
their build output.
|
|
42
|
+
- README, LICENSE, and a stable deep-import path at
|
|
43
|
+
`@cxpinsight/react-native/instrumented/<Component>` for the Babel plugin and
|
|
44
|
+
Metro helper.
|
|
45
|
+
|
|
46
|
+
### Fixed
|
|
47
|
+
- **`app_foregrounded` never fired.** `lifecycle` imported a
|
|
48
|
+
`refreshNetworkState` that was never exported, so every foreground threw an
|
|
49
|
+
uncaught `TypeError` inside the `AppState` handler, before the event was
|
|
50
|
+
emitted.
|
|
51
|
+
- **No dashboard setting reached the app.** The server SDK config was read one
|
|
52
|
+
level too shallow (`res.data` rather than `res.data.data`), so the recording
|
|
53
|
+
toggle, sample rate, session timeout and flush cadence all resolved to
|
|
54
|
+
`undefined`.
|
|
55
|
+
- **Offline flushing spun.** A failed batch was re-queued and immediately
|
|
56
|
+
retried while the queue was over threshold — a tight loop against a dead
|
|
57
|
+
network. Now full-jitter exponential backoff, 1s base to a 5 min ceiling.
|
|
58
|
+
- **The event backlog was unbounded.** `MAX_BATCH_SIZE` capped the request, not
|
|
59
|
+
the queue. Capped at 1000, oldest-first, with drops counted.
|
|
60
|
+
- Failed replay chunks vanished silently — `sdkFetch` resolves with
|
|
61
|
+
`{ success: false }` rather than throwing, so the surrounding `catch` was
|
|
62
|
+
unreachable and the result was never checked.
|
|
63
|
+
- A phantom `scanViewHierarchy` re-export (the real name is
|
|
64
|
+
`scanNativeViewHierarchy`).
|
|
65
|
+
|
|
66
|
+
### Changed
|
|
67
|
+
- Event-queue and session writes are coalesced instead of one AsyncStorage write
|
|
68
|
+
per event and per interaction. Backgrounding persists unconditionally, which is
|
|
69
|
+
how a session normally ends.
|
package/README.md
CHANGED
|
@@ -79,6 +79,24 @@ CXPinsight.identify({ id: user.id, email: user.email, name: user.name });
|
|
|
79
79
|
|
|
80
80
|
Events recorded before `identify()` are re-attributed to the user automatically, so one visitor does not show up as two.
|
|
81
81
|
|
|
82
|
+
### 5. Consent, if you show a banner
|
|
83
|
+
|
|
84
|
+
```js
|
|
85
|
+
CXPinsight.init({ /* ... */ requireConsent: true });
|
|
86
|
+
|
|
87
|
+
// in your banner's handlers
|
|
88
|
+
CXPinsight.optIn(); // or CXPinsight.consent(true)
|
|
89
|
+
CXPinsight.optOut(); // or CXPinsight.consent(false)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
With `requireConsent` on, nothing leaves the device until the visitor accepts.
|
|
93
|
+
Events are *held* rather than dropped in the meantime, so someone who accepts a
|
|
94
|
+
few seconds in keeps the opening of their session. Declining clears what was
|
|
95
|
+
buffered and stops session recording and network capture. The decision persists,
|
|
96
|
+
so the banner is not shown again on the next launch.
|
|
97
|
+
|
|
98
|
+
Omit `requireConsent` and behaviour is unchanged — capture starts at `init()`.
|
|
99
|
+
|
|
82
100
|
## API
|
|
83
101
|
|
|
84
102
|
| Method | Purpose |
|
|
@@ -91,6 +109,8 @@ Events recorded before `identify()` are re-attributed to the user automatically,
|
|
|
91
109
|
| `showSurvey(surveyId)` | Present a survey immediately. |
|
|
92
110
|
| `startRecording()` / `stopRecording()` | Session replay, for hosts that gate on their own consent UI. |
|
|
93
111
|
| `enterSetupMode()` / `exitSetupMode()` | Visual element mapping — tap an element to make it trackable. |
|
|
112
|
+
| `optIn()` / `optOut()` / `consent(bool)` | Grant or revoke consent from your banner. |
|
|
113
|
+
| `getConsent()` | `'granted'`, `'denied'`, or `null` when undecided. |
|
|
94
114
|
| `flush()` | Force-send queued events. |
|
|
95
115
|
| `reset()` | Clear the stored identity, session and frequency caps. |
|
|
96
116
|
|
|
@@ -105,6 +125,7 @@ Events recorded before `identify()` are re-attributed to the user automatically,
|
|
|
105
125
|
| `recordMaskInputs` | `true` | Never persist typed text. |
|
|
106
126
|
| `captureScreen` | — | Screenshot provider; omit for a timeline-only replay. |
|
|
107
127
|
| `captureNetwork` | `true` | Sanitised `api_call` events — method, host, path, status. Never bodies or headers. |
|
|
128
|
+
| `requireConsent` | `false` | Hold all capture until `optIn()`. |
|
|
108
129
|
| `sessionTimeout` | 30 min | Inactivity before a new session starts. |
|
|
109
130
|
| `flushInterval` / `flushThreshold` | 30 s / 10 | Event batching. |
|
|
110
131
|
| `theme` | OS | `'light'` / `'dark'` if your app has its own toggle. |
|
|
@@ -119,6 +140,7 @@ Values omitted here are filled from the application's dashboard settings at star
|
|
|
119
140
|
- Network capture records method, host, path, status and duration only. Query strings are stripped; request and response bodies and headers are never read.
|
|
120
141
|
- The SDK's own backend calls are excluded from network capture.
|
|
121
142
|
- Events are queued locally and persist across launches, so nothing is lost offline.
|
|
143
|
+
- With `requireConsent`, nothing is transmitted until the visitor accepts, and declining discards what was buffered.
|
|
122
144
|
|
|
123
145
|
## Requirements
|
|
124
146
|
|
package/lib/CXPinsight.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CXPinsightConfig, CXPinsightCallbacks, UserIdentity, FunnelStepOptions, ExperimentOptions, ConversionOptions } from './types';
|
|
2
|
+
import { type ConsentState } from './core/consent';
|
|
2
3
|
type SurveyPresenter = (surveyId: string) => void;
|
|
3
4
|
type SetupPresenter = (show: boolean) => void;
|
|
4
5
|
declare class CXPinsightSDK {
|
|
@@ -20,6 +21,9 @@ declare class CXPinsightSDK {
|
|
|
20
21
|
private resumeEngagementClock;
|
|
21
22
|
private getEngagementMs;
|
|
22
23
|
private static errorHandlerInstalled;
|
|
24
|
+
private pending;
|
|
25
|
+
private static readonly MAX_PENDING;
|
|
26
|
+
private pendingDropped;
|
|
23
27
|
/** Initialize the SDK. Call once at app startup. */
|
|
24
28
|
init(config: CXPinsightConfig, callbacks?: CXPinsightCallbacks): Promise<void>;
|
|
25
29
|
/**
|
|
@@ -32,6 +36,8 @@ declare class CXPinsightSDK {
|
|
|
32
36
|
private applyServerSdkConfig;
|
|
33
37
|
/** Roll the recording + engagement clock onto a freshly-started session. */
|
|
34
38
|
private onSessionRollover;
|
|
39
|
+
/** Emit everything buffered before init() resolved, oldest first. */
|
|
40
|
+
private flushPending;
|
|
35
41
|
/** Wire native signals → typed analytics events (shared taxonomy). */
|
|
36
42
|
private startAutoEvents;
|
|
37
43
|
/** Track a custom event */
|
|
@@ -41,7 +47,9 @@ declare class CXPinsightSDK {
|
|
|
41
47
|
* gateway, or localhost on a physical device). Never throws or blocks init.
|
|
42
48
|
*/
|
|
43
49
|
private verifyConnectivity;
|
|
44
|
-
track(eventName: string, data?: Record<string, unknown>, eventType?: string, teeToRecording?: boolean
|
|
50
|
+
track(eventName: string, data?: Record<string, unknown>, eventType?: string, teeToRecording?: boolean,
|
|
51
|
+
/** Internal: preserves the original time of a call buffered before init(). */
|
|
52
|
+
eventTimestamp?: string): void;
|
|
45
53
|
/** Track a screen view (triggers remote page_view rules) */
|
|
46
54
|
trackScreen(screenName: string, data?: Record<string, unknown>): void;
|
|
47
55
|
/** Identify the current user */
|
|
@@ -73,6 +81,21 @@ declare class CXPinsightSDK {
|
|
|
73
81
|
/** Stop mobile session recording and flush the final chunk. */
|
|
74
82
|
stopRecording(): Promise<void>;
|
|
75
83
|
/** Reset all SDK state (call on logout) */
|
|
84
|
+
/**
|
|
85
|
+
* Consent — the host drives these from its own banner. Same names and
|
|
86
|
+
* semantics as the web SDK's CXPinsight('optIn' | 'optOut' | 'consent').
|
|
87
|
+
*
|
|
88
|
+
* With requireConsent on, events accumulate in the queue while a decision is
|
|
89
|
+
* pending and are sent once granted, so accepting the banner a few seconds in
|
|
90
|
+
* keeps the opening of the session. Denial clears the buffer and stops capture.
|
|
91
|
+
*/
|
|
92
|
+
optIn(): void;
|
|
93
|
+
optOut(): void;
|
|
94
|
+
consent(granted: boolean): void;
|
|
95
|
+
getConsent(): ConsentState;
|
|
96
|
+
isConsentRequired(): boolean;
|
|
97
|
+
/** Start or tear down capture when consent flips. */
|
|
98
|
+
private onConsentChange;
|
|
76
99
|
reset(): Promise<void>;
|
|
77
100
|
/** Manual flush for testing */
|
|
78
101
|
flush(): Promise<void>;
|
package/lib/CXPinsight.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CXPinsight.d.ts","sourceRoot":"","sources":["../src/CXPinsight.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,mBAAmB,EACnB,YAAY,EAGZ,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"CXPinsight.d.ts","sourceRoot":"","sources":["../src/CXPinsight.ts"],"names":[],"mappings":"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"}
|
package/lib/CXPinsight.js
CHANGED
|
@@ -49,6 +49,7 @@ const interactionObserver_1 = require("./instrumented/interactionObserver");
|
|
|
49
49
|
const lifecycle_1 = require("./core/lifecycle");
|
|
50
50
|
const networkCapture_1 = require("./core/networkCapture");
|
|
51
51
|
const scrollCapture_1 = require("./core/scrollCapture");
|
|
52
|
+
const consent_1 = require("./core/consent");
|
|
52
53
|
// Canonical eventType per event name — keeps mobile events aligned with the shared
|
|
53
54
|
// engagement taxonomy (docs/engagement-vocabulary-v1.md) instead of everything being
|
|
54
55
|
// 'user_action'. Unknown names fall back to 'user_action'.
|
|
@@ -85,6 +86,18 @@ class CXPinsightSDK {
|
|
|
85
86
|
this.engagementStartTs = 0;
|
|
86
87
|
this.engagementAccumMs = 0;
|
|
87
88
|
this.engagementActive = false;
|
|
89
|
+
// Calls made before init() resolves. init() awaits a network fetch and several
|
|
90
|
+
// AsyncStorage reads, so there is a real window — hundreds of milliseconds on a
|
|
91
|
+
// cold start — in which an app's own startup tracking is simply lost. These
|
|
92
|
+
// used to be dropped with a console warning; the web SDK has always buffered
|
|
93
|
+
// its pre-load calls through the CXPinsight.q command queue, and this is the
|
|
94
|
+
// mobile equivalent.
|
|
95
|
+
//
|
|
96
|
+
// The ORIGINAL timestamp is kept, so a replayed event lands where it actually
|
|
97
|
+
// happened rather than bunching at the end of init. Bounded, because an app
|
|
98
|
+
// that never calls init() must not grow this forever.
|
|
99
|
+
this.pending = [];
|
|
100
|
+
this.pendingDropped = 0;
|
|
88
101
|
}
|
|
89
102
|
startEngagementClock() { this.engagementStartTs = Date.now(); this.engagementAccumMs = 0; this.engagementActive = true; }
|
|
90
103
|
pauseEngagementClock() { if (this.engagementActive) {
|
|
@@ -134,6 +147,9 @@ class CXPinsightSDK {
|
|
|
134
147
|
const savedIdentity = await storage.get(types_1.STORAGE_KEYS.USER_IDENTITY);
|
|
135
148
|
if (savedIdentity)
|
|
136
149
|
this.userIdentity = savedIdentity;
|
|
150
|
+
// Restore any prior consent decision before a single capture path starts.
|
|
151
|
+
await (0, consent_1.initConsent)(config.requireConsent);
|
|
152
|
+
(0, consent_1.setConsentHandler)((granted) => { void this.onConsentChange(granted); });
|
|
137
153
|
// Start session
|
|
138
154
|
await (0, session_1.initSession)(config.sessionTimeout);
|
|
139
155
|
// Start event queue
|
|
@@ -151,7 +167,7 @@ class CXPinsightSDK {
|
|
|
151
167
|
// Start mobile session (timeline) recording when opted in via config. Hosts
|
|
152
168
|
// that gate on their own consent UI should omit `record` and call
|
|
153
169
|
// CXPinsight.startRecording() after consent instead.
|
|
154
|
-
if (config.record) {
|
|
170
|
+
if (config.record && (0, consent_1.mayCapture)()) {
|
|
155
171
|
recorder.startRecording({
|
|
156
172
|
sessionId: (0, session_1.getSessionId)(),
|
|
157
173
|
userId: this.userId,
|
|
@@ -196,6 +212,10 @@ class CXPinsightSDK {
|
|
|
196
212
|
is_first_visit: isFirstVisit,
|
|
197
213
|
}, 'navigation', false);
|
|
198
214
|
}
|
|
215
|
+
// Replay anything the app tracked while init() was still resolving. After
|
|
216
|
+
// session_start, so the ordering a consumer sees matches what happened: the
|
|
217
|
+
// session begins, then the events that occurred during startup.
|
|
218
|
+
this.flushPending();
|
|
199
219
|
// When an inactive session rolls over to a new one, start a fresh recording so a
|
|
200
220
|
// session maps to one recording (prevents an ever-growing single recording).
|
|
201
221
|
(0, session_1.setRolloverHandler)((newSessionId, prevSessionId) => {
|
|
@@ -281,6 +301,22 @@ class CXPinsightSDK {
|
|
|
281
301
|
this.startEngagementClock(); // reset engagement time for the new session
|
|
282
302
|
this.track('session_start', { sessionId: newSessionId }, 'navigation', false);
|
|
283
303
|
}
|
|
304
|
+
/** Emit everything buffered before init() resolved, oldest first. */
|
|
305
|
+
flushPending() {
|
|
306
|
+
if (!this.pending.length && !this.pendingDropped)
|
|
307
|
+
return;
|
|
308
|
+
const held = this.pending;
|
|
309
|
+
this.pending = [];
|
|
310
|
+
this.log(`Replaying ${held.length} event(s) tracked before init completed`);
|
|
311
|
+
if (this.pendingDropped) {
|
|
312
|
+
console.warn(`[CXPinsight] ${this.pendingDropped} event(s) tracked before init() were dropped — ` +
|
|
313
|
+
`more than ${CXPinsightSDK.MAX_PENDING} arrived before initialization finished. ` +
|
|
314
|
+
`Call init() earlier in startup.`);
|
|
315
|
+
this.pendingDropped = 0;
|
|
316
|
+
}
|
|
317
|
+
for (const e of held)
|
|
318
|
+
this.track(e.name, e.data, e.type, e.tee, e.ts);
|
|
319
|
+
}
|
|
284
320
|
/** Wire native signals → typed analytics events (shared taxonomy). */
|
|
285
321
|
startAutoEvents() {
|
|
286
322
|
// Scroll depth from the app's ORGANIC <ScrollView>s (and FlatList /
|
|
@@ -363,7 +399,7 @@ class CXPinsightSDK {
|
|
|
363
399
|
});
|
|
364
400
|
// Network capture → sanitized api_call events (method/host/path/status/duration).
|
|
365
401
|
// On by default; set captureNetwork:false to disable.
|
|
366
|
-
if (this.config?.captureNetwork !== false) {
|
|
402
|
+
if (this.config?.captureNetwork !== false && (0, consent_1.mayCapture)()) {
|
|
367
403
|
this.log('Network capture enabled');
|
|
368
404
|
(0, networkCapture_1.startNetworkCapture)(this.config.apiBase, (call) => {
|
|
369
405
|
this.log('api_call captured:', call.method, call.path, call.status);
|
|
@@ -435,14 +471,22 @@ class CXPinsightSDK {
|
|
|
435
471
|
console.warn(`[CXPinsight] Could not reach apiBase "${base}" (${msg}). It must be your CXPinsight gateway (usually :3000), reachable from the device — on a physical device use your machine's LAN IP, not localhost.`);
|
|
436
472
|
}
|
|
437
473
|
}
|
|
438
|
-
track(eventName, data, eventType, teeToRecording = true
|
|
474
|
+
track(eventName, data, eventType, teeToRecording = true,
|
|
475
|
+
/** Internal: preserves the original time of a call buffered before init(). */
|
|
476
|
+
eventTimestamp) {
|
|
439
477
|
if (!this.initialized || !this.config) {
|
|
440
|
-
|
|
478
|
+
// Held, not dropped. Drained by flushPending() once init() completes.
|
|
479
|
+
if (this.pending.length < CXPinsightSDK.MAX_PENDING) {
|
|
480
|
+
this.pending.push({ name: eventName, data, type: eventType, tee: teeToRecording, ts: new Date().toISOString() });
|
|
481
|
+
}
|
|
482
|
+
else {
|
|
483
|
+
this.pendingDropped += 1;
|
|
484
|
+
}
|
|
441
485
|
return;
|
|
442
486
|
}
|
|
443
487
|
(0, session_1.touchSession)();
|
|
444
488
|
const device = (0, deviceInfo_1.getDeviceInfo)();
|
|
445
|
-
const now = new Date().toISOString();
|
|
489
|
+
const now = eventTimestamp ?? new Date().toISOString();
|
|
446
490
|
// Explicit type wins; otherwise derive from the shared taxonomy by name.
|
|
447
491
|
const resolvedType = eventType || EVENT_TYPE_BY_NAME[eventName] || 'user_action';
|
|
448
492
|
// Identified user traits (from identify()) to stamp on EVERY event — including the
|
|
@@ -729,6 +773,50 @@ class CXPinsightSDK {
|
|
|
729
773
|
await recorder.stopRecording();
|
|
730
774
|
}
|
|
731
775
|
/** Reset all SDK state (call on logout) */
|
|
776
|
+
/**
|
|
777
|
+
* Consent — the host drives these from its own banner. Same names and
|
|
778
|
+
* semantics as the web SDK's CXPinsight('optIn' | 'optOut' | 'consent').
|
|
779
|
+
*
|
|
780
|
+
* With requireConsent on, events accumulate in the queue while a decision is
|
|
781
|
+
* pending and are sent once granted, so accepting the banner a few seconds in
|
|
782
|
+
* keeps the opening of the session. Denial clears the buffer and stops capture.
|
|
783
|
+
*/
|
|
784
|
+
optIn() { (0, consent_1.grantConsent)(); }
|
|
785
|
+
optOut() { (0, consent_1.revokeConsent)(); }
|
|
786
|
+
consent(granted) { granted ? (0, consent_1.grantConsent)() : (0, consent_1.revokeConsent)(); }
|
|
787
|
+
getConsent() { return (0, consent_1.getConsent)(); }
|
|
788
|
+
isConsentRequired() { return (0, consent_1.consentRequired)(); }
|
|
789
|
+
/** Start or tear down capture when consent flips. */
|
|
790
|
+
async onConsentChange(granted) {
|
|
791
|
+
this.log('Consent', granted ? 'granted' : 'revoked');
|
|
792
|
+
if (granted) {
|
|
793
|
+
// Send whatever accumulated while the banner was up.
|
|
794
|
+
await (0, eventQueue_1.flush)();
|
|
795
|
+
if (this.config?.record) {
|
|
796
|
+
recorder.startRecording({
|
|
797
|
+
sessionId: (0, session_1.getSessionId)(),
|
|
798
|
+
userId: this.userId,
|
|
799
|
+
applicationId: this.config.applicationId,
|
|
800
|
+
sampleRate: this.config.recordingSampleRate,
|
|
801
|
+
maskInputs: this.config.recordMaskInputs,
|
|
802
|
+
captureScreen: this.config.captureScreen,
|
|
803
|
+
}).catch((err) => this.log('Failed to start recording after consent:', err));
|
|
804
|
+
}
|
|
805
|
+
if (this.config && this.config.captureNetwork !== false) {
|
|
806
|
+
(0, networkCapture_1.startNetworkCapture)(this.config.apiBase, (call) => {
|
|
807
|
+
this.track('api_call', {
|
|
808
|
+
method: call.method, host: call.host, path: call.path,
|
|
809
|
+
status: call.status, durationMs: call.durationMs, success: call.success,
|
|
810
|
+
}, 'api_call', false);
|
|
811
|
+
});
|
|
812
|
+
}
|
|
813
|
+
return;
|
|
814
|
+
}
|
|
815
|
+
// Revoked: stop capturing and discard what was buffered rather than sending it.
|
|
816
|
+
(0, networkCapture_1.stopNetworkCapture)();
|
|
817
|
+
await recorder.stopRecording();
|
|
818
|
+
await (0, eventQueue_1.clearQueue)();
|
|
819
|
+
}
|
|
732
820
|
async reset() {
|
|
733
821
|
this.log('Resetting SDK state');
|
|
734
822
|
if (this.autoEventUnsub) {
|
|
@@ -747,6 +835,7 @@ class CXPinsightSDK {
|
|
|
747
835
|
await (0, eventQueue_1.stopQueue)();
|
|
748
836
|
await (0, session_1.destroySession)();
|
|
749
837
|
await (0, frequencyCap_1.clearAllCaps)();
|
|
838
|
+
await (0, consent_1.clearConsent)();
|
|
750
839
|
await (0, triggerEngine_1.clearTriggerState)();
|
|
751
840
|
await (0, SetupController_1.clearSetupState)();
|
|
752
841
|
await storage.multiRemove([
|
|
@@ -826,6 +915,7 @@ class CXPinsightSDK {
|
|
|
826
915
|
}
|
|
827
916
|
// The global JS error handler is installed once for the process lifetime.
|
|
828
917
|
CXPinsightSDK.errorHandlerInstalled = false;
|
|
918
|
+
CXPinsightSDK.MAX_PENDING = 50;
|
|
829
919
|
/** Singleton SDK instance */
|
|
830
920
|
exports.CXPinsight = new CXPinsightSDK();
|
|
831
921
|
//# sourceMappingURL=CXPinsight.js.map
|
package/lib/CXPinsight.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CXPinsight.js","sourceRoot":"","sources":["../src/CXPinsight.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CXPinsight.js","sourceRoot":"","sources":["../src/CXPinsight.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type ConsentState = 'granted' | 'denied' | null;
|
|
2
|
+
/** Restore any prior decision. Call once during init, before capture starts. */
|
|
3
|
+
export declare function initConsent(requireConsent?: boolean): Promise<void>;
|
|
4
|
+
/** Notified when consent flips, so the SDK can start or stop capture. */
|
|
5
|
+
export declare function setConsentHandler(cb: ((granted: boolean) => void) | null): void;
|
|
6
|
+
/**
|
|
7
|
+
* Whether capture may run right now.
|
|
8
|
+
*
|
|
9
|
+
* An explicit denial always wins, even when requireConsent is off — a host that
|
|
10
|
+
* calls optOut() means it, regardless of how the SDK was configured.
|
|
11
|
+
*/
|
|
12
|
+
export declare function mayCapture(): boolean;
|
|
13
|
+
/** True when events should be held rather than sent (awaiting a decision). */
|
|
14
|
+
export declare function isPending(): boolean;
|
|
15
|
+
export declare function consentRequired(): boolean;
|
|
16
|
+
export declare function getConsent(): ConsentState;
|
|
17
|
+
export declare function grantConsent(): void;
|
|
18
|
+
export declare function revokeConsent(): void;
|
|
19
|
+
/** Reset to "no decision yet" — used by CXPinsight.reset(). */
|
|
20
|
+
export declare function clearConsent(): Promise<void>;
|
|
21
|
+
//# sourceMappingURL=consent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../src/core/consent.ts"],"names":[],"mappings":"AA4BA,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;AAMvD,gFAAgF;AAChF,wBAAsB,WAAW,CAAC,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAIzE;AAED,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI,CAE/E;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAGpC;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,IAAI,OAAO,CAEnC;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC;AAED,wBAAgB,UAAU,IAAI,YAAY,CAEzC;AAED,wBAAgB,YAAY,IAAI,IAAI,CAKnC;AAED,wBAAgB,aAAa,IAAI,IAAI,CAKpC;AAED,+DAA+D;AAC/D,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.initConsent = initConsent;
|
|
37
|
+
exports.setConsentHandler = setConsentHandler;
|
|
38
|
+
exports.mayCapture = mayCapture;
|
|
39
|
+
exports.isPending = isPending;
|
|
40
|
+
exports.consentRequired = consentRequired;
|
|
41
|
+
exports.getConsent = getConsent;
|
|
42
|
+
exports.grantConsent = grantConsent;
|
|
43
|
+
exports.revokeConsent = revokeConsent;
|
|
44
|
+
exports.clearConsent = clearConsent;
|
|
45
|
+
/**
|
|
46
|
+
* Consent gate — parity with the web SDK's optIn / optOut / consent commands.
|
|
47
|
+
*
|
|
48
|
+
* Mobile previously had no consent surface at all: tracking began the moment
|
|
49
|
+
* init() was called, and only session recording could be deferred. A customer
|
|
50
|
+
* with a consent banner had nothing to call short of not initialising the SDK,
|
|
51
|
+
* which also disabled surveys.
|
|
52
|
+
*
|
|
53
|
+
* Same names and same semantics as web (engagement.js "Consent gate"), so an app
|
|
54
|
+
* shipping on both channels wires up one concept, not two:
|
|
55
|
+
*
|
|
56
|
+
* CXPinsight.optIn() // grant
|
|
57
|
+
* CXPinsight.optOut() // revoke
|
|
58
|
+
* CXPinsight.consent(bool) // either, for a banner with one callback
|
|
59
|
+
*
|
|
60
|
+
* `requireConsent` is opt-in and defaults to false, so nothing changes for an
|
|
61
|
+
* app that does not set it. With it on, capture stays OFF until the host grants.
|
|
62
|
+
*
|
|
63
|
+
* One deliberate difference from web, in the stricter direction. Web's gate
|
|
64
|
+
* covers session recording and network capture but lets ordinary analytics
|
|
65
|
+
* events through. Here, requireConsent also holds ANALYTICS events — they are
|
|
66
|
+
* buffered in the event queue rather than dropped, so a visitor who accepts the
|
|
67
|
+
* banner a few seconds in keeps their whole session rather than losing its
|
|
68
|
+
* opening. Revoking clears that buffer instead of sending it.
|
|
69
|
+
*/
|
|
70
|
+
const types_1 = require("../types");
|
|
71
|
+
const storage = __importStar(require("./storage"));
|
|
72
|
+
let required = false;
|
|
73
|
+
let state = null;
|
|
74
|
+
let onChange = null;
|
|
75
|
+
/** Restore any prior decision. Call once during init, before capture starts. */
|
|
76
|
+
async function initConsent(requireConsent) {
|
|
77
|
+
required = requireConsent === true;
|
|
78
|
+
const saved = await storage.get(types_1.STORAGE_KEYS.CONSENT);
|
|
79
|
+
state = saved === 'granted' || saved === 'denied' ? saved : null;
|
|
80
|
+
}
|
|
81
|
+
/** Notified when consent flips, so the SDK can start or stop capture. */
|
|
82
|
+
function setConsentHandler(cb) {
|
|
83
|
+
onChange = cb;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Whether capture may run right now.
|
|
87
|
+
*
|
|
88
|
+
* An explicit denial always wins, even when requireConsent is off — a host that
|
|
89
|
+
* calls optOut() means it, regardless of how the SDK was configured.
|
|
90
|
+
*/
|
|
91
|
+
function mayCapture() {
|
|
92
|
+
if (state === 'denied')
|
|
93
|
+
return false;
|
|
94
|
+
return !required || state === 'granted';
|
|
95
|
+
}
|
|
96
|
+
/** True when events should be held rather than sent (awaiting a decision). */
|
|
97
|
+
function isPending() {
|
|
98
|
+
return required && state === null;
|
|
99
|
+
}
|
|
100
|
+
function consentRequired() {
|
|
101
|
+
return required;
|
|
102
|
+
}
|
|
103
|
+
function getConsent() {
|
|
104
|
+
return state;
|
|
105
|
+
}
|
|
106
|
+
function grantConsent() {
|
|
107
|
+
if (state === 'granted')
|
|
108
|
+
return;
|
|
109
|
+
state = 'granted';
|
|
110
|
+
void storage.set(types_1.STORAGE_KEYS.CONSENT, state);
|
|
111
|
+
try {
|
|
112
|
+
onChange?.(true);
|
|
113
|
+
}
|
|
114
|
+
catch { /* host callback must not break the gate */ }
|
|
115
|
+
}
|
|
116
|
+
function revokeConsent() {
|
|
117
|
+
if (state === 'denied')
|
|
118
|
+
return;
|
|
119
|
+
state = 'denied';
|
|
120
|
+
void storage.set(types_1.STORAGE_KEYS.CONSENT, state);
|
|
121
|
+
try {
|
|
122
|
+
onChange?.(false);
|
|
123
|
+
}
|
|
124
|
+
catch { /* best-effort */ }
|
|
125
|
+
}
|
|
126
|
+
/** Reset to "no decision yet" — used by CXPinsight.reset(). */
|
|
127
|
+
async function clearConsent() {
|
|
128
|
+
state = null;
|
|
129
|
+
await storage.remove(types_1.STORAGE_KEYS.CONSENT);
|
|
130
|
+
}
|
|
131
|
+
//# sourceMappingURL=consent.js.map
|