@plushanalytics/react-native-session-replay 3.0.0 → 3.0.4

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.
Files changed (40) hide show
  1. package/README.md +59 -2
  2. package/android/src/main/java/com/posthogreactnativesessionreplay/PosthogReactNativeSessionReplayModule.kt +125 -27
  3. package/ios/PosthogReactNativeSessionReplay.mm +3 -0
  4. package/ios/PosthogReactNativeSessionReplay.swift +187 -36
  5. package/lib/commonjs/adapters/mobileReplayAdapter.js +55 -18
  6. package/lib/commonjs/adapters/mobileReplayAdapter.js.map +1 -1
  7. package/lib/commonjs/client.js +2 -1
  8. package/lib/commonjs/client.js.map +1 -1
  9. package/lib/commonjs/nativeBridge.js +5 -0
  10. package/lib/commonjs/nativeBridge.js.map +1 -1
  11. package/lib/module/adapters/mobileReplayAdapter.js +55 -18
  12. package/lib/module/adapters/mobileReplayAdapter.js.map +1 -1
  13. package/lib/module/client.js +2 -1
  14. package/lib/module/client.js.map +1 -1
  15. package/lib/module/nativeBridge.js +4 -0
  16. package/lib/module/nativeBridge.js.map +1 -1
  17. package/lib/typescript/commonjs/src/adapters/mobileReplayAdapter.d.ts +2 -1
  18. package/lib/typescript/commonjs/src/adapters/mobileReplayAdapter.d.ts.map +1 -1
  19. package/lib/typescript/commonjs/src/client.d.ts.map +1 -1
  20. package/lib/typescript/commonjs/src/index.d.ts +1 -1
  21. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  22. package/lib/typescript/commonjs/src/nativeBridge.d.ts +2 -0
  23. package/lib/typescript/commonjs/src/nativeBridge.d.ts.map +1 -1
  24. package/lib/typescript/commonjs/src/types.d.ts +16 -5
  25. package/lib/typescript/commonjs/src/types.d.ts.map +1 -1
  26. package/lib/typescript/module/src/adapters/mobileReplayAdapter.d.ts +2 -1
  27. package/lib/typescript/module/src/adapters/mobileReplayAdapter.d.ts.map +1 -1
  28. package/lib/typescript/module/src/client.d.ts.map +1 -1
  29. package/lib/typescript/module/src/index.d.ts +1 -1
  30. package/lib/typescript/module/src/index.d.ts.map +1 -1
  31. package/lib/typescript/module/src/nativeBridge.d.ts +2 -0
  32. package/lib/typescript/module/src/nativeBridge.d.ts.map +1 -1
  33. package/lib/typescript/module/src/types.d.ts +16 -5
  34. package/lib/typescript/module/src/types.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/adapters/mobileReplayAdapter.ts +112 -19
  37. package/src/client.ts +2 -1
  38. package/src/index.tsx +2 -0
  39. package/src/nativeBridge.ts +8 -1
  40. package/src/types.ts +19 -5
@@ -7,6 +7,7 @@ exports.createMobileReplayRecorderAdapter = createMobileReplayRecorderAdapter;
7
7
  var replayModule = _interopRequireWildcard(require("../nativeBridge.js"));
8
8
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
9
9
  const DEFAULT_SNAPSHOT_PATH = "/v1/events/batch";
10
+ const DEFAULT_THROTTLE_DELAY_MS = 1000;
10
11
  const UUID_PATTERN = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
11
12
  function assertNonEmpty(value, field) {
12
13
  if (!value || !value.trim()) {
@@ -29,20 +30,10 @@ function generateUuid() {
29
30
  if (cryptoApi?.randomUUID) return cryptoApi.randomUUID();
30
31
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, char => {
31
32
  const random = Math.floor(Math.random() * 16);
32
- const value = char === "x" ? random : random & 0x3 | 0x8;
33
- return value.toString(16);
33
+ const resolved = char === "x" ? random : random & 0x3 | 0x8;
34
+ return resolved.toString(16);
34
35
  });
35
36
  }
36
- function normalizeReplayConfig(config) {
37
- return {
38
- maskAllTextInputs: config?.maskAllTextInputs ?? true,
39
- maskAllImages: config?.maskAllImages ?? true,
40
- maskAllSandboxedViews: config?.maskAllSandboxedViews ?? true,
41
- captureLog: config?.captureLog ?? true,
42
- captureNetworkTelemetry: config?.captureNetworkTelemetry ?? true,
43
- throttleDelayMs: config?.throttleDelayMs ?? 1000
44
- };
45
- }
46
37
  function resolveSessionId(options) {
47
38
  const requestedSessionId = options?.sessionId?.trim();
48
39
  if (requestedSessionId && isUuid(requestedSessionId)) {
@@ -63,14 +54,57 @@ function assertNoPosthogDotCom(host) {
63
54
  throw new Error("replayHost must not point to posthog.com (or a subdomain).");
64
55
  }
65
56
  }
57
+ function resolveMaskingValue(overrideConfig, defaultConfig, maskingKey, legacyKey) {
58
+ const overrideMaskingValue = overrideConfig?.masking?.[maskingKey];
59
+ if (typeof overrideMaskingValue === "boolean") {
60
+ return overrideMaskingValue;
61
+ }
62
+ const overrideLegacyValue = overrideConfig?.[legacyKey];
63
+ if (typeof overrideLegacyValue === "boolean") {
64
+ return overrideLegacyValue;
65
+ }
66
+ const defaultMaskingValue = defaultConfig?.masking?.[maskingKey];
67
+ if (typeof defaultMaskingValue === "boolean") {
68
+ return defaultMaskingValue;
69
+ }
70
+ return true;
71
+ }
72
+ function resolveReplayConfig(defaultConfig, overrideConfig) {
73
+ const enabled = overrideConfig?.enabled ?? defaultConfig?.enabled ?? true;
74
+ const captureLog = overrideConfig?.captureLog ?? defaultConfig?.captureLog ?? true;
75
+ const captureNetworkTelemetry = overrideConfig?.captureNetworkTelemetry ?? defaultConfig?.captureNetworkTelemetry ?? true;
76
+ const requestedThrottleDelayMs = overrideConfig?.throttleDelayMs ?? defaultConfig?.throttleDelayMs ?? DEFAULT_THROTTLE_DELAY_MS;
77
+ const throttleDelayMs = Number.isFinite(requestedThrottleDelayMs) && requestedThrottleDelayMs >= 0 ? requestedThrottleDelayMs : DEFAULT_THROTTLE_DELAY_MS;
78
+ return {
79
+ enabled,
80
+ maskAllTextInputs: resolveMaskingValue(overrideConfig, defaultConfig, "textInputs", "maskAllTextInputs"),
81
+ maskAllImages: resolveMaskingValue(overrideConfig, defaultConfig, "images", "maskAllImages"),
82
+ maskAllSandboxedViews: resolveMaskingValue(overrideConfig, defaultConfig, "sandboxedViews", "maskAllSandboxedViews"),
83
+ captureLog,
84
+ captureNetworkTelemetry,
85
+ throttleDelayMs
86
+ };
87
+ }
88
+ function toNativeReplayConfig(config) {
89
+ return {
90
+ maskAllTextInputs: config.maskAllTextInputs,
91
+ maskAllImages: config.maskAllImages,
92
+ maskAllSandboxedViews: config.maskAllSandboxedViews,
93
+ captureLog: config.captureLog,
94
+ captureNetworkTelemetry: config.captureNetworkTelemetry,
95
+ throttleDelayMs: config.throttleDelayMs
96
+ };
97
+ }
66
98
  function createMobileReplayRecorderAdapter(defaults) {
67
99
  assertNonEmpty(defaults.apiKey, "apiKey");
68
100
  assertNonEmpty(defaults.endpoint, "endpoint");
69
101
  return {
70
- start: async ({
71
- onSessionId,
72
- options
73
- }) => {
102
+ start: async args => {
103
+ const options = args.options;
104
+ const resolvedReplayConfig = resolveReplayConfig(defaults.replayConfigDefaults, options?.replayConfig);
105
+ if (!resolvedReplayConfig.enabled) {
106
+ return () => {};
107
+ }
74
108
  const host = normalizeHost(options?.replayHost?.trim() || defaults.endpoint);
75
109
  assertNoPosthogDotCom(host);
76
110
  const snapshotPath = normalizeSnapshotPath(options?.replaySnapshotPath);
@@ -84,14 +118,17 @@ function createMobileReplayRecorderAdapter(defaults) {
84
118
  sdkVersion: "plushanalytics-react-native",
85
119
  flushAt: 20
86
120
  };
87
- await replayModule.start(activeSessionId, sdkOptions, normalizeReplayConfig(options?.replayConfig), {
121
+ await replayModule.start(activeSessionId, sdkOptions, toNativeReplayConfig(resolvedReplayConfig), {
88
122
  endpoint: snapshotPath
89
123
  });
90
124
  await replayModule.startSession(activeSessionId);
91
- onSessionId?.(activeSessionId);
125
+ args.onSessionId?.(activeSessionId);
92
126
  return () => {
93
127
  void replayModule.endSession();
94
128
  };
129
+ },
130
+ flush: async () => {
131
+ await replayModule.flush();
95
132
  }
96
133
  };
97
134
  }
@@ -1 +1 @@
1
- {"version":3,"names":["replayModule","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_SNAPSHOT_PATH","UUID_PATTERN","assertNonEmpty","value","field","trim","Error","normalizeHost","replace","normalizeSnapshotPath","trimmed","startsWith","isUuid","test","generateUuid","cryptoApi","globalThis","crypto","randomUUID","char","random","Math","floor","toString","normalizeReplayConfig","config","maskAllTextInputs","maskAllImages","maskAllSandboxedViews","captureLog","captureNetworkTelemetry","throttleDelayMs","resolveSessionId","options","requestedSessionId","sessionId","assertNoPosthogDotCom","host","lowered","toLowerCase","hostName","URL","hostname","endsWith","createMobileReplayRecorderAdapter","defaults","apiKey","endpoint","start","onSessionId","replayHost","snapshotPath","replaySnapshotPath","activeSessionId","sdkOptions","debug","distinctId","userId","anonymousId","sdkVersion","flushAt","replayConfig","startSession","endSession"],"sourceRoot":"../../../src","sources":["adapters/mobileReplayAdapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["replayModule","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_SNAPSHOT_PATH","DEFAULT_THROTTLE_DELAY_MS","UUID_PATTERN","assertNonEmpty","value","field","trim","Error","normalizeHost","replace","normalizeSnapshotPath","trimmed","startsWith","isUuid","test","generateUuid","cryptoApi","globalThis","crypto","randomUUID","char","random","Math","floor","resolved","toString","resolveSessionId","options","requestedSessionId","sessionId","assertNoPosthogDotCom","host","lowered","toLowerCase","hostName","URL","hostname","endsWith","resolveMaskingValue","overrideConfig","defaultConfig","maskingKey","legacyKey","overrideMaskingValue","masking","overrideLegacyValue","defaultMaskingValue","resolveReplayConfig","enabled","captureLog","captureNetworkTelemetry","requestedThrottleDelayMs","throttleDelayMs","Number","isFinite","maskAllTextInputs","maskAllImages","maskAllSandboxedViews","toNativeReplayConfig","config","createMobileReplayRecorderAdapter","defaults","apiKey","endpoint","start","args","resolvedReplayConfig","replayConfigDefaults","replayConfig","replayHost","snapshotPath","replaySnapshotPath","activeSessionId","sdkOptions","debug","distinctId","userId","anonymousId","sdkVersion","flushAt","startSession","onSessionId","endSession","flush"],"sourceRoot":"../../../src","sources":["adapters/mobileReplayAdapter.ts"],"mappings":"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","ignoreList":[]}
@@ -30,7 +30,8 @@ function createPlushAnalyticsClient(config) {
30
30
  ...(config.replay ?? {}),
31
31
  defaultRecorder: config.replay?.defaultRecorder ?? (0, _mobileReplayAdapter.createMobileReplayRecorderAdapter)({
32
32
  apiKey: config.apiKey,
33
- endpoint
33
+ endpoint,
34
+ replayConfigDefaults: config.sessionReplayConfig
34
35
  })
35
36
  }
36
37
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_javascript","require","_mobileReplayAdapter","DEFAULT_ENDPOINT","normalizeSource","value","undefined","trimmed","trim","length","slice","createPlushAnalyticsClient","config","endpoint","source","wrapped","replay","defaultRecorder","createMobileReplayRecorderAdapter","apiKey","createCoreClient"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,oBAAA,GAAAD,OAAA;AAKA,MAAME,gBAAgB,GAAG,kEAAkE;AAE3F,SAASC,eAAeA,CAACC,KAAc,EAAsB;EAC3D,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOC,SAAS;EAC/C,MAAMC,OAAO,GAAGF,KAAK,CAACG,IAAI,CAAC,CAAC;EAC5B,IAAI,CAACD,OAAO,EAAE,OAAOD,SAAS;EAC9B,OAAOC,OAAO,CAACE,MAAM,GAAG,EAAE,GAAGF,OAAO,CAACG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAGH,OAAO;AAC7D;AAEO,SAASI,0BAA0BA,CAACC,MAA4B,EAAwB;EAC7F,MAAMC,QAAQ,GAAGD,MAAM,CAACC,QAAQ,IAAIV,gBAAgB;EACpD,MAAMW,MAAM,GAAGV,eAAe,CAACQ,MAAM,CAACE,MAAM,CAAC,IAAI,QAAQ;EAEzD,MAAMC,OAA6B,GAAG;IACpC,GAAGH,MAAM;IACTC,QAAQ;IACRC,MAAM;IACNE,MAAM,EAAE;MACN,IAAIJ,MAAM,CAACI,MAAM,IAAI,CAAC,CAAC,CAAC;MACxBC,eAAe,EACbL,MAAM,CAACI,MAAM,EAAEC,eAAe,IAC9B,IAAAC,sDAAiC,EAAC;QAChCC,MAAM,EAAEP,MAAM,CAACO,MAAM;QACrBN;MACF,CAAC;IACL;EACF,CAAC;EAED,OAAO,IAAAO,sCAAgB,EAACL,OAAO,CAAC;AAClC;;AAEA","ignoreList":[]}
1
+ {"version":3,"names":["_javascript","require","_mobileReplayAdapter","DEFAULT_ENDPOINT","normalizeSource","value","undefined","trimmed","trim","length","slice","createPlushAnalyticsClient","config","endpoint","source","wrapped","replay","defaultRecorder","createMobileReplayRecorderAdapter","apiKey","replayConfigDefaults","sessionReplayConfig","createCoreClient"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,oBAAA,GAAAD,OAAA;AAKA,MAAME,gBAAgB,GAAG,kEAAkE;AAE3F,SAASC,eAAeA,CAACC,KAAc,EAAsB;EAC3D,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOC,SAAS;EAC/C,MAAMC,OAAO,GAAGF,KAAK,CAACG,IAAI,CAAC,CAAC;EAC5B,IAAI,CAACD,OAAO,EAAE,OAAOD,SAAS;EAC9B,OAAOC,OAAO,CAACE,MAAM,GAAG,EAAE,GAAGF,OAAO,CAACG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAGH,OAAO;AAC7D;AAEO,SAASI,0BAA0BA,CAACC,MAA4B,EAAwB;EAC7F,MAAMC,QAAQ,GAAGD,MAAM,CAACC,QAAQ,IAAIV,gBAAgB;EACpD,MAAMW,MAAM,GAAGV,eAAe,CAACQ,MAAM,CAACE,MAAM,CAAC,IAAI,QAAQ;EAEzD,MAAMC,OAA6B,GAAG;IACpC,GAAGH,MAAM;IACTC,QAAQ;IACRC,MAAM;IACNE,MAAM,EAAE;MACN,IAAIJ,MAAM,CAACI,MAAM,IAAI,CAAC,CAAC,CAAC;MACxBC,eAAe,EACbL,MAAM,CAACI,MAAM,EAAEC,eAAe,IAC9B,IAAAC,sDAAiC,EAAC;QAChCC,MAAM,EAAEP,MAAM,CAACO,MAAM;QACrBN,QAAQ;QACRO,oBAAoB,EAAER,MAAM,CAACS;MAC/B,CAAC;IACL;EACF,CAAC;EAED,OAAO,IAAAC,sCAAgB,EAACP,OAAO,CAAC;AAClC;;AAEA","ignoreList":[]}
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  exports.endSession = endSession;
8
+ exports.flush = flush;
8
9
  exports.identify = identify;
9
10
  exports.isEnabled = isEnabled;
10
11
  exports.start = start;
@@ -28,6 +29,9 @@ function startSession(sessionId) {
28
29
  function endSession() {
29
30
  return PosthogReactNativeSessionReplay.endSession();
30
31
  }
32
+ function flush() {
33
+ return PosthogReactNativeSessionReplay.flush();
34
+ }
31
35
  function isEnabled() {
32
36
  return PosthogReactNativeSessionReplay.isEnabled();
33
37
  }
@@ -38,6 +42,7 @@ const PostHogReactNativeSessionReplay = {
38
42
  start,
39
43
  startSession,
40
44
  endSession,
45
+ flush,
41
46
  isEnabled,
42
47
  identify
43
48
  };
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","PosthogReactNativeSessionReplay","NativeModules","Proxy","get","Error","start","sessionId","sdkOptions","sdkReplayConfig","decideReplayConfig","startSession","endSession","isEnabled","identify","distinctId","anonymousId","PostHogReactNativeSessionReplay","_default","exports"],"sourceRoot":"../../src","sources":["nativeBridge.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACjB,sGAAsG,GACtGC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,+BAA+B,GACnCC,0BAAa,CAACD,+BAA+B,GACzCC,0BAAa,CAACD,+BAA+B,GAC7C,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEA,SAASU,KAAKA,CACnBC,SAAiB,EACjBC,UAAkC,EAClCC,eAAuC,EACvCC,kBAA0C,EAC3B;EACf,OAAOT,+BAA+B,CAACK,KAAK,CAC1CC,SAAS,EACTC,UAAU,EACVC,eAAe,EACfC,kBACF,CAAC;AACH;AAEO,SAASC,YAAYA,CAACJ,SAAiB,EAAiB;EAC7D,OAAON,+BAA+B,CAACU,YAAY,CAACJ,SAAS,CAAC;AAChE;AAEO,SAASK,UAAUA,CAAA,EAAkB;EAC1C,OAAOX,+BAA+B,CAACW,UAAU,CAAC,CAAC;AACrD;AAEO,SAASC,SAASA,CAAA,EAAqB;EAC5C,OAAOZ,+BAA+B,CAACY,SAAS,CAAC,CAAC;AACpD;AAEO,SAASC,QAAQA,CACtBC,UAAkB,EAClBC,WAAmB,EACJ;EACf,OAAOf,+BAA+B,CAACa,QAAQ,CAACC,UAAU,EAAEC,WAAW,CAAC;AAC1E;AAmBA,MAAMC,+BAAsE,GAAG;EAC7EX,KAAK;EACLK,YAAY;EACZC,UAAU;EACVC,SAAS;EACTC;AACF,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAAnB,OAAA,GAEaiB,+BAA+B","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","LINKING_ERROR","Platform","select","ios","default","PosthogReactNativeSessionReplay","NativeModules","Proxy","get","Error","start","sessionId","sdkOptions","sdkReplayConfig","decideReplayConfig","startSession","endSession","flush","isEnabled","identify","distinctId","anonymousId","PostHogReactNativeSessionReplay","_default","exports"],"sourceRoot":"../../src","sources":["nativeBridge.ts"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GACjB,sGAAsG,GACtGC,qBAAQ,CAACC,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,+BAA+B,GACnCC,0BAAa,CAACD,+BAA+B,GACzCC,0BAAa,CAACD,+BAA+B,GAC7C,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACT,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEA,SAASU,KAAKA,CACnBC,SAAiB,EACjBC,UAAkC,EAClCC,eAAuC,EACvCC,kBAA0C,EAC3B;EACf,OAAOT,+BAA+B,CAACK,KAAK,CAC1CC,SAAS,EACTC,UAAU,EACVC,eAAe,EACfC,kBACF,CAAC;AACH;AAEO,SAASC,YAAYA,CAACJ,SAAiB,EAAiB;EAC7D,OAAON,+BAA+B,CAACU,YAAY,CAACJ,SAAS,CAAC;AAChE;AAEO,SAASK,UAAUA,CAAA,EAAkB;EAC1C,OAAOX,+BAA+B,CAACW,UAAU,CAAC,CAAC;AACrD;AAEO,SAASC,KAAKA,CAAA,EAAkB;EACrC,OAAOZ,+BAA+B,CAACY,KAAK,CAAC,CAAC;AAChD;AAEO,SAASC,SAASA,CAAA,EAAqB;EAC5C,OAAOb,+BAA+B,CAACa,SAAS,CAAC,CAAC;AACpD;AAEO,SAASC,QAAQA,CACtBC,UAAkB,EAClBC,WAAmB,EACJ;EACf,OAAOhB,+BAA+B,CAACc,QAAQ,CAACC,UAAU,EAAEC,WAAW,CAAC;AAC1E;AAqBA,MAAMC,+BAAsE,GAAG;EAC7EZ,KAAK;EACLK,YAAY;EACZC,UAAU;EACVC,KAAK;EACLC,SAAS;EACTC;AACF,CAAC;AAAC,IAAAI,QAAA,GAAAC,OAAA,CAAApB,OAAA,GAEakB,+BAA+B","ignoreList":[]}
@@ -2,6 +2,7 @@
2
2
 
3
3
  import * as replayModule from "../nativeBridge.js";
4
4
  const DEFAULT_SNAPSHOT_PATH = "/v1/events/batch";
5
+ const DEFAULT_THROTTLE_DELAY_MS = 1000;
5
6
  const UUID_PATTERN = /^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$/;
6
7
  function assertNonEmpty(value, field) {
7
8
  if (!value || !value.trim()) {
@@ -24,20 +25,10 @@ function generateUuid() {
24
25
  if (cryptoApi?.randomUUID) return cryptoApi.randomUUID();
25
26
  return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, char => {
26
27
  const random = Math.floor(Math.random() * 16);
27
- const value = char === "x" ? random : random & 0x3 | 0x8;
28
- return value.toString(16);
28
+ const resolved = char === "x" ? random : random & 0x3 | 0x8;
29
+ return resolved.toString(16);
29
30
  });
30
31
  }
31
- function normalizeReplayConfig(config) {
32
- return {
33
- maskAllTextInputs: config?.maskAllTextInputs ?? true,
34
- maskAllImages: config?.maskAllImages ?? true,
35
- maskAllSandboxedViews: config?.maskAllSandboxedViews ?? true,
36
- captureLog: config?.captureLog ?? true,
37
- captureNetworkTelemetry: config?.captureNetworkTelemetry ?? true,
38
- throttleDelayMs: config?.throttleDelayMs ?? 1000
39
- };
40
- }
41
32
  function resolveSessionId(options) {
42
33
  const requestedSessionId = options?.sessionId?.trim();
43
34
  if (requestedSessionId && isUuid(requestedSessionId)) {
@@ -58,14 +49,57 @@ function assertNoPosthogDotCom(host) {
58
49
  throw new Error("replayHost must not point to posthog.com (or a subdomain).");
59
50
  }
60
51
  }
52
+ function resolveMaskingValue(overrideConfig, defaultConfig, maskingKey, legacyKey) {
53
+ const overrideMaskingValue = overrideConfig?.masking?.[maskingKey];
54
+ if (typeof overrideMaskingValue === "boolean") {
55
+ return overrideMaskingValue;
56
+ }
57
+ const overrideLegacyValue = overrideConfig?.[legacyKey];
58
+ if (typeof overrideLegacyValue === "boolean") {
59
+ return overrideLegacyValue;
60
+ }
61
+ const defaultMaskingValue = defaultConfig?.masking?.[maskingKey];
62
+ if (typeof defaultMaskingValue === "boolean") {
63
+ return defaultMaskingValue;
64
+ }
65
+ return true;
66
+ }
67
+ function resolveReplayConfig(defaultConfig, overrideConfig) {
68
+ const enabled = overrideConfig?.enabled ?? defaultConfig?.enabled ?? true;
69
+ const captureLog = overrideConfig?.captureLog ?? defaultConfig?.captureLog ?? true;
70
+ const captureNetworkTelemetry = overrideConfig?.captureNetworkTelemetry ?? defaultConfig?.captureNetworkTelemetry ?? true;
71
+ const requestedThrottleDelayMs = overrideConfig?.throttleDelayMs ?? defaultConfig?.throttleDelayMs ?? DEFAULT_THROTTLE_DELAY_MS;
72
+ const throttleDelayMs = Number.isFinite(requestedThrottleDelayMs) && requestedThrottleDelayMs >= 0 ? requestedThrottleDelayMs : DEFAULT_THROTTLE_DELAY_MS;
73
+ return {
74
+ enabled,
75
+ maskAllTextInputs: resolveMaskingValue(overrideConfig, defaultConfig, "textInputs", "maskAllTextInputs"),
76
+ maskAllImages: resolveMaskingValue(overrideConfig, defaultConfig, "images", "maskAllImages"),
77
+ maskAllSandboxedViews: resolveMaskingValue(overrideConfig, defaultConfig, "sandboxedViews", "maskAllSandboxedViews"),
78
+ captureLog,
79
+ captureNetworkTelemetry,
80
+ throttleDelayMs
81
+ };
82
+ }
83
+ function toNativeReplayConfig(config) {
84
+ return {
85
+ maskAllTextInputs: config.maskAllTextInputs,
86
+ maskAllImages: config.maskAllImages,
87
+ maskAllSandboxedViews: config.maskAllSandboxedViews,
88
+ captureLog: config.captureLog,
89
+ captureNetworkTelemetry: config.captureNetworkTelemetry,
90
+ throttleDelayMs: config.throttleDelayMs
91
+ };
92
+ }
61
93
  export function createMobileReplayRecorderAdapter(defaults) {
62
94
  assertNonEmpty(defaults.apiKey, "apiKey");
63
95
  assertNonEmpty(defaults.endpoint, "endpoint");
64
96
  return {
65
- start: async ({
66
- onSessionId,
67
- options
68
- }) => {
97
+ start: async args => {
98
+ const options = args.options;
99
+ const resolvedReplayConfig = resolveReplayConfig(defaults.replayConfigDefaults, options?.replayConfig);
100
+ if (!resolvedReplayConfig.enabled) {
101
+ return () => {};
102
+ }
69
103
  const host = normalizeHost(options?.replayHost?.trim() || defaults.endpoint);
70
104
  assertNoPosthogDotCom(host);
71
105
  const snapshotPath = normalizeSnapshotPath(options?.replaySnapshotPath);
@@ -79,14 +113,17 @@ export function createMobileReplayRecorderAdapter(defaults) {
79
113
  sdkVersion: "plushanalytics-react-native",
80
114
  flushAt: 20
81
115
  };
82
- await replayModule.start(activeSessionId, sdkOptions, normalizeReplayConfig(options?.replayConfig), {
116
+ await replayModule.start(activeSessionId, sdkOptions, toNativeReplayConfig(resolvedReplayConfig), {
83
117
  endpoint: snapshotPath
84
118
  });
85
119
  await replayModule.startSession(activeSessionId);
86
- onSessionId?.(activeSessionId);
120
+ args.onSessionId?.(activeSessionId);
87
121
  return () => {
88
122
  void replayModule.endSession();
89
123
  };
124
+ },
125
+ flush: async () => {
126
+ await replayModule.flush();
90
127
  }
91
128
  };
92
129
  }
@@ -1 +1 @@
1
- {"version":3,"names":["replayModule","DEFAULT_SNAPSHOT_PATH","UUID_PATTERN","assertNonEmpty","value","field","trim","Error","normalizeHost","replace","normalizeSnapshotPath","trimmed","startsWith","isUuid","test","generateUuid","cryptoApi","globalThis","crypto","randomUUID","char","random","Math","floor","toString","normalizeReplayConfig","config","maskAllTextInputs","maskAllImages","maskAllSandboxedViews","captureLog","captureNetworkTelemetry","throttleDelayMs","resolveSessionId","options","requestedSessionId","sessionId","assertNoPosthogDotCom","host","lowered","toLowerCase","hostName","URL","hostname","endsWith","createMobileReplayRecorderAdapter","defaults","apiKey","endpoint","start","onSessionId","replayHost","snapshotPath","replaySnapshotPath","activeSessionId","sdkOptions","debug","distinctId","userId","anonymousId","sdkVersion","flushAt","replayConfig","startSession","endSession"],"sourceRoot":"../../../src","sources":["adapters/mobileReplayAdapter.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["replayModule","DEFAULT_SNAPSHOT_PATH","DEFAULT_THROTTLE_DELAY_MS","UUID_PATTERN","assertNonEmpty","value","field","trim","Error","normalizeHost","replace","normalizeSnapshotPath","trimmed","startsWith","isUuid","test","generateUuid","cryptoApi","globalThis","crypto","randomUUID","char","random","Math","floor","resolved","toString","resolveSessionId","options","requestedSessionId","sessionId","assertNoPosthogDotCom","host","lowered","toLowerCase","hostName","URL","hostname","endsWith","resolveMaskingValue","overrideConfig","defaultConfig","maskingKey","legacyKey","overrideMaskingValue","masking","overrideLegacyValue","defaultMaskingValue","resolveReplayConfig","enabled","captureLog","captureNetworkTelemetry","requestedThrottleDelayMs","throttleDelayMs","Number","isFinite","maskAllTextInputs","maskAllImages","maskAllSandboxedViews","toNativeReplayConfig","config","createMobileReplayRecorderAdapter","defaults","apiKey","endpoint","start","args","resolvedReplayConfig","replayConfigDefaults","replayConfig","replayHost","snapshotPath","replaySnapshotPath","activeSessionId","sdkOptions","debug","distinctId","userId","anonymousId","sdkVersion","flushAt","startSession","onSessionId","endSession","flush"],"sourceRoot":"../../../src","sources":["adapters/mobileReplayAdapter.ts"],"mappings":"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","ignoreList":[]}
@@ -21,7 +21,8 @@ export function createPlushAnalyticsClient(config) {
21
21
  ...(config.replay ?? {}),
22
22
  defaultRecorder: config.replay?.defaultRecorder ?? createMobileReplayRecorderAdapter({
23
23
  apiKey: config.apiKey,
24
- endpoint
24
+ endpoint,
25
+ replayConfigDefaults: config.sessionReplayConfig
25
26
  })
26
27
  }
27
28
  };
@@ -1 +1 @@
1
- {"version":3,"names":["createPlushAnalyticsClient","createCoreClient","PlushAnalyticsClient","createMobileReplayRecorderAdapter","DEFAULT_ENDPOINT","normalizeSource","value","undefined","trimmed","trim","length","slice","config","endpoint","source","wrapped","replay","defaultRecorder","apiKey"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":";;AAAA,SACEA,0BAA0B,IAAIC,gBAAgB,EAC9CC,oBAAoB,QACf,4BAA4B;AACnC,SAASC,iCAAiC,QAAQ,mCAAgC;AAGlF,SAASD,oBAAoB;AAE7B,MAAME,gBAAgB,GAAG,kEAAkE;AAE3F,SAASC,eAAeA,CAACC,KAAc,EAAsB;EAC3D,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOC,SAAS;EAC/C,MAAMC,OAAO,GAAGF,KAAK,CAACG,IAAI,CAAC,CAAC;EAC5B,IAAI,CAACD,OAAO,EAAE,OAAOD,SAAS;EAC9B,OAAOC,OAAO,CAACE,MAAM,GAAG,EAAE,GAAGF,OAAO,CAACG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAGH,OAAO;AAC7D;AAEA,OAAO,SAASR,0BAA0BA,CAACY,MAA4B,EAAwB;EAC7F,MAAMC,QAAQ,GAAGD,MAAM,CAACC,QAAQ,IAAIT,gBAAgB;EACpD,MAAMU,MAAM,GAAGT,eAAe,CAACO,MAAM,CAACE,MAAM,CAAC,IAAI,QAAQ;EAEzD,MAAMC,OAA6B,GAAG;IACpC,GAAGH,MAAM;IACTC,QAAQ;IACRC,MAAM;IACNE,MAAM,EAAE;MACN,IAAIJ,MAAM,CAACI,MAAM,IAAI,CAAC,CAAC,CAAC;MACxBC,eAAe,EACbL,MAAM,CAACI,MAAM,EAAEC,eAAe,IAC9Bd,iCAAiC,CAAC;QAChCe,MAAM,EAAEN,MAAM,CAACM,MAAM;QACrBL;MACF,CAAC;IACL;EACF,CAAC;EAED,OAAOZ,gBAAgB,CAACc,OAAO,CAAC;AAClC;;AAEA","ignoreList":[]}
1
+ {"version":3,"names":["createPlushAnalyticsClient","createCoreClient","PlushAnalyticsClient","createMobileReplayRecorderAdapter","DEFAULT_ENDPOINT","normalizeSource","value","undefined","trimmed","trim","length","slice","config","endpoint","source","wrapped","replay","defaultRecorder","apiKey","replayConfigDefaults","sessionReplayConfig"],"sourceRoot":"../../src","sources":["client.ts"],"mappings":";;AAAA,SACEA,0BAA0B,IAAIC,gBAAgB,EAC9CC,oBAAoB,QACf,4BAA4B;AACnC,SAASC,iCAAiC,QAAQ,mCAAgC;AAGlF,SAASD,oBAAoB;AAE7B,MAAME,gBAAgB,GAAG,kEAAkE;AAE3F,SAASC,eAAeA,CAACC,KAAc,EAAsB;EAC3D,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE,OAAOC,SAAS;EAC/C,MAAMC,OAAO,GAAGF,KAAK,CAACG,IAAI,CAAC,CAAC;EAC5B,IAAI,CAACD,OAAO,EAAE,OAAOD,SAAS;EAC9B,OAAOC,OAAO,CAACE,MAAM,GAAG,EAAE,GAAGF,OAAO,CAACG,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAGH,OAAO;AAC7D;AAEA,OAAO,SAASR,0BAA0BA,CAACY,MAA4B,EAAwB;EAC7F,MAAMC,QAAQ,GAAGD,MAAM,CAACC,QAAQ,IAAIT,gBAAgB;EACpD,MAAMU,MAAM,GAAGT,eAAe,CAACO,MAAM,CAACE,MAAM,CAAC,IAAI,QAAQ;EAEzD,MAAMC,OAA6B,GAAG;IACpC,GAAGH,MAAM;IACTC,QAAQ;IACRC,MAAM;IACNE,MAAM,EAAE;MACN,IAAIJ,MAAM,CAACI,MAAM,IAAI,CAAC,CAAC,CAAC;MACxBC,eAAe,EACbL,MAAM,CAACI,MAAM,EAAEC,eAAe,IAC9Bd,iCAAiC,CAAC;QAChCe,MAAM,EAAEN,MAAM,CAACM,MAAM;QACrBL,QAAQ;QACRM,oBAAoB,EAAEP,MAAM,CAACQ;MAC/B,CAAC;IACL;EACF,CAAC;EAED,OAAOnB,gBAAgB,CAACc,OAAO,CAAC;AAClC;;AAEA","ignoreList":[]}
@@ -19,6 +19,9 @@ export function startSession(sessionId) {
19
19
  export function endSession() {
20
20
  return PosthogReactNativeSessionReplay.endSession();
21
21
  }
22
+ export function flush() {
23
+ return PosthogReactNativeSessionReplay.flush();
24
+ }
22
25
  export function isEnabled() {
23
26
  return PosthogReactNativeSessionReplay.isEnabled();
24
27
  }
@@ -29,6 +32,7 @@ const PostHogReactNativeSessionReplay = {
29
32
  start,
30
33
  startSession,
31
34
  endSession,
35
+ flush,
32
36
  isEnabled,
33
37
  identify
34
38
  };
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","PosthogReactNativeSessionReplay","Proxy","get","Error","start","sessionId","sdkOptions","sdkReplayConfig","decideReplayConfig","startSession","endSession","isEnabled","identify","distinctId","anonymousId","PostHogReactNativeSessionReplay"],"sourceRoot":"../../src","sources":["nativeBridge.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,sGAAsG,GACtGD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,+BAA+B,GACnCN,aAAa,CAACM,+BAA+B,GACzCN,aAAa,CAACM,+BAA+B,GAC7C,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEP,OAAO,SAASQ,KAAKA,CACnBC,SAAiB,EACjBC,UAAkC,EAClCC,eAAuC,EACvCC,kBAA0C,EAC3B;EACf,OAAOR,+BAA+B,CAACI,KAAK,CAC1CC,SAAS,EACTC,UAAU,EACVC,eAAe,EACfC,kBACF,CAAC;AACH;AAEA,OAAO,SAASC,YAAYA,CAACJ,SAAiB,EAAiB;EAC7D,OAAOL,+BAA+B,CAACS,YAAY,CAACJ,SAAS,CAAC;AAChE;AAEA,OAAO,SAASK,UAAUA,CAAA,EAAkB;EAC1C,OAAOV,+BAA+B,CAACU,UAAU,CAAC,CAAC;AACrD;AAEA,OAAO,SAASC,SAASA,CAAA,EAAqB;EAC5C,OAAOX,+BAA+B,CAACW,SAAS,CAAC,CAAC;AACpD;AAEA,OAAO,SAASC,QAAQA,CACtBC,UAAkB,EAClBC,WAAmB,EACJ;EACf,OAAOd,+BAA+B,CAACY,QAAQ,CAACC,UAAU,EAAEC,WAAW,CAAC;AAC1E;AAmBA,MAAMC,+BAAsE,GAAG;EAC7EX,KAAK;EACLK,YAAY;EACZC,UAAU;EACVC,SAAS;EACTC;AACF,CAAC;AAED,eAAeG,+BAA+B","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","select","ios","default","PosthogReactNativeSessionReplay","Proxy","get","Error","start","sessionId","sdkOptions","sdkReplayConfig","decideReplayConfig","startSession","endSession","flush","isEnabled","identify","distinctId","anonymousId","PostHogReactNativeSessionReplay"],"sourceRoot":"../../src","sources":["nativeBridge.ts"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AAEtD,MAAMC,aAAa,GACjB,sGAAsG,GACtGD,QAAQ,CAACE,MAAM,CAAC;EAAEC,GAAG,EAAE,gCAAgC;EAAEC,OAAO,EAAE;AAAG,CAAC,CAAC,GACvE,sDAAsD,GACtD,+BAA+B;AAEjC,MAAMC,+BAA+B,GACnCN,aAAa,CAACM,+BAA+B,GACzCN,aAAa,CAACM,+BAA+B,GAC7C,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAGA,CAAA,EAAG;IACJ,MAAM,IAAIC,KAAK,CAACP,aAAa,CAAC;EAChC;AACF,CACF,CAAC;AAEP,OAAO,SAASQ,KAAKA,CACnBC,SAAiB,EACjBC,UAAkC,EAClCC,eAAuC,EACvCC,kBAA0C,EAC3B;EACf,OAAOR,+BAA+B,CAACI,KAAK,CAC1CC,SAAS,EACTC,UAAU,EACVC,eAAe,EACfC,kBACF,CAAC;AACH;AAEA,OAAO,SAASC,YAAYA,CAACJ,SAAiB,EAAiB;EAC7D,OAAOL,+BAA+B,CAACS,YAAY,CAACJ,SAAS,CAAC;AAChE;AAEA,OAAO,SAASK,UAAUA,CAAA,EAAkB;EAC1C,OAAOV,+BAA+B,CAACU,UAAU,CAAC,CAAC;AACrD;AAEA,OAAO,SAASC,KAAKA,CAAA,EAAkB;EACrC,OAAOX,+BAA+B,CAACW,KAAK,CAAC,CAAC;AAChD;AAEA,OAAO,SAASC,SAASA,CAAA,EAAqB;EAC5C,OAAOZ,+BAA+B,CAACY,SAAS,CAAC,CAAC;AACpD;AAEA,OAAO,SAASC,QAAQA,CACtBC,UAAkB,EAClBC,WAAmB,EACJ;EACf,OAAOf,+BAA+B,CAACa,QAAQ,CAACC,UAAU,EAAEC,WAAW,CAAC;AAC1E;AAqBA,MAAMC,+BAAsE,GAAG;EAC7EZ,KAAK;EACLK,YAAY;EACZC,UAAU;EACVC,KAAK;EACLC,SAAS;EACTC;AACF,CAAC;AAED,eAAeG,+BAA+B","ignoreList":[]}
@@ -1,7 +1,8 @@
1
- import type { ReplayRecorderAdapter } from "../types";
1
+ import type { ReplayRecorderAdapter, SessionReplayConfig } from "../types";
2
2
  type AdapterDefaults = {
3
3
  apiKey: string;
4
4
  endpoint: string;
5
+ replayConfigDefaults?: SessionReplayConfig;
5
6
  };
6
7
  export declare function createMobileReplayRecorderAdapter(defaults: AdapterDefaults): ReplayRecorderAdapter;
7
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mobileReplayAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mobileReplayAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,qBAAqB,EAA2B,MAAM,UAAU,CAAC;AAGnG,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAuEF,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,eAAe,GAAG,qBAAqB,CAmClG"}
1
+ {"version":3,"file":"mobileReplayAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mobileReplayAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qBAAqB,EAErB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;CAC5C,CAAC;AAoJF,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,eAAe,GAAG,qBAAqB,CA6ClG"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAWhC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAoB7F;AAGD,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAWhC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAqB7F;AAGD,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { createPlushAnalyticsClient, PlushAnalyticsClient } from "./client";
2
2
  export { createMobileReplayRecorderAdapter } from "./adapters/mobileReplayAdapter";
3
3
  export { PlushAnalyticsProvider, usePlushAnalytics } from "./provider";
4
- export type { EventEnvelope, EventType, FlushResult, GroupOptions, IdentifyOptions, JsonValue, MobileReplayConfig, PlushAnalytics, PlushAnalyticsConfig, ReplayChunkEnvelope, ReplayRecordEmission, ReplayRecorderAdapter, RetryOptions, ScreenOptions, SessionRecordingOptions, StorageAdapter, TrackOptions, UnifiedBatchPayload } from "./types";
4
+ export type { EventEnvelope, EventType, FlushResult, GroupOptions, IdentifyOptions, JsonValue, MobileReplayConfig, PlushAnalytics, PlushAnalyticsConfig, ReplayChunkEnvelope, ReplayRecordEmission, ReplayRecorderAdapter, RetryOptions, ScreenOptions, SessionRecordingOptions, SessionReplayConfig, SessionReplayMaskingConfig, StorageAdapter, TrackOptions, UnifiedBatchPayload } from "./types";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACpB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,YAAY,EACZ,mBAAmB,EACpB,MAAM,SAAS,CAAC"}
@@ -7,6 +7,7 @@ export declare function start(sessionId: string, sdkOptions: {
7
7
  }): Promise<void>;
8
8
  export declare function startSession(sessionId: string): Promise<void>;
9
9
  export declare function endSession(): Promise<void>;
10
+ export declare function flush(): Promise<void>;
10
11
  export declare function isEnabled(): Promise<boolean>;
11
12
  export declare function identify(distinctId: string, anonymousId: string): Promise<void>;
12
13
  export interface PostHogReactNativeSessionReplayModule {
@@ -21,6 +22,7 @@ export interface PostHogReactNativeSessionReplayModule {
21
22
  }) => Promise<void>;
22
23
  startSession: (sessionId: string) => Promise<void>;
23
24
  endSession: () => Promise<void>;
25
+ flush: () => Promise<void>;
24
26
  isEnabled: () => Promise<boolean>;
25
27
  identify: (distinctId: string, anonymousId: string) => Promise<void>;
26
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nativeBridge.d.ts","sourceRoot":"","sources":["../../../../src/nativeBridge.ts"],"names":[],"mappings":"AAoBA,wBAAgB,KAAK,CACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAClC,eAAe,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACvC,kBAAkB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GACzC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;AAED,wBAAgB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1C;AAED,wBAAgB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAE5C;AAED,wBAAgB,QAAQ,CACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,MAAM,WAAW,qCAAqC;IACpD,KAAK,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,kCAAkC;IACtE,eAAe,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,kBAAkB;IAC3D,kBAAkB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KACvC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,QAAA,MAAM,+BAA+B,EAAE,qCAMtC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
1
+ {"version":3,"file":"nativeBridge.d.ts","sourceRoot":"","sources":["../../../../src/nativeBridge.ts"],"names":[],"mappings":"AAoBA,wBAAgB,KAAK,CACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAClC,eAAe,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACvC,kBAAkB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GACzC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;AAED,wBAAgB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1C;AAED,wBAAgB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErC;AAED,wBAAgB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAE5C;AAED,wBAAgB,QAAQ,CACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,MAAM,WAAW,qCAAqC;IACpD,KAAK,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,kCAAkC;IACtE,eAAe,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,kBAAkB;IAC3D,kBAAkB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KACvC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,QAAA,MAAM,+BAA+B,EAAE,qCAOtC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
@@ -1,18 +1,29 @@
1
1
  import type { EventEnvelope, EventType, FlushResult, GroupOptions, IdentifyOptions, JsonValue, PlushAnalytics as CorePlushAnalytics, PlushAnalyticsConfig as CoreConfig, ReplayChunkEnvelope, ReplayRecordEmission, ReplayRecorderAdapter, RetryOptions, ScreenOptions, SessionRecordingOptions as CoreSessionRecordingOptions, StorageAdapter, TrackOptions, UnifiedBatchPayload } from "@plushanalytics/javascript";
2
- export type MobileReplayConfig = {
3
- maskAllTextInputs?: boolean;
4
- maskAllImages?: boolean;
5
- maskAllSandboxedViews?: boolean;
2
+ export type SessionReplayMaskingConfig = {
3
+ textInputs?: boolean;
4
+ images?: boolean;
5
+ sandboxedViews?: boolean;
6
+ };
7
+ export type SessionReplayConfig = {
8
+ enabled?: boolean;
9
+ masking?: SessionReplayMaskingConfig;
6
10
  captureLog?: boolean;
7
11
  captureNetworkTelemetry?: boolean;
8
12
  throttleDelayMs?: number;
9
13
  };
14
+ export type MobileReplayConfig = SessionReplayConfig & {
15
+ maskAllTextInputs?: boolean;
16
+ maskAllImages?: boolean;
17
+ maskAllSandboxedViews?: boolean;
18
+ };
10
19
  export type SessionRecordingOptions = CoreSessionRecordingOptions & {
11
20
  replayHost?: string;
12
21
  replaySnapshotPath?: string;
13
22
  replayConfig?: MobileReplayConfig;
14
23
  };
15
- export type PlushAnalyticsConfig = CoreConfig;
24
+ export type PlushAnalyticsConfig = CoreConfig & {
25
+ sessionReplayConfig?: SessionReplayConfig;
26
+ };
16
27
  export type { EventEnvelope, EventType, FlushResult, GroupOptions, IdentifyOptions, JsonValue, ReplayChunkEnvelope, ReplayRecordEmission, ReplayRecorderAdapter, RetryOptions, ScreenOptions, StorageAdapter, TrackOptions, UnifiedBatchPayload };
17
28
  export type PlushAnalytics = Omit<CorePlushAnalytics, "startSessionRecording" | "startReplay"> & {
18
29
  startSessionRecording: (options?: SessionRecordingOptions) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,cAAc,IAAI,kBAAkB,EACpC,oBAAoB,IAAI,UAAU,EAClC,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,uBAAuB,IAAI,2BAA2B,EACtD,cAAc,EACd,YAAY,EACZ,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,GAAG;IAElE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAE9C,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,mBAAmB,EACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,uBAAuB,GAAG,aAAa,CAAC,GAAG;IAC/F,qBAAqB,EAAE,CAAC,OAAO,CAAC,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,cAAc,IAAI,kBAAkB,EACpC,oBAAoB,IAAI,UAAU,EAClC,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,uBAAuB,IAAI,2BAA2B,EACtD,cAAc,EACd,YAAY,EACZ,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,MAAM,MAAM,0BAA0B,GAAG;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,0BAA0B,CAAC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG;IAErD,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,2BAA2B,GAAG;IAElE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,kBAAkB,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,UAAU,GAAG;IAC9C,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CAC3C,CAAC;AAEF,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,cAAc,EACd,YAAY,EACZ,mBAAmB,EACpB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,uBAAuB,GAAG,aAAa,CAAC,GAAG;IAC/F,qBAAqB,EAAE,CAAC,OAAO,CAAC,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,uBAAuB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACnE,CAAC"}
@@ -1,7 +1,8 @@
1
- import type { ReplayRecorderAdapter } from "../types";
1
+ import type { ReplayRecorderAdapter, SessionReplayConfig } from "../types";
2
2
  type AdapterDefaults = {
3
3
  apiKey: string;
4
4
  endpoint: string;
5
+ replayConfigDefaults?: SessionReplayConfig;
5
6
  };
6
7
  export declare function createMobileReplayRecorderAdapter(defaults: AdapterDefaults): ReplayRecorderAdapter;
7
8
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"mobileReplayAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mobileReplayAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,qBAAqB,EAA2B,MAAM,UAAU,CAAC;AAGnG,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC;AAuEF,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,eAAe,GAAG,qBAAqB,CAmClG"}
1
+ {"version":3,"file":"mobileReplayAdapter.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/mobileReplayAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qBAAqB,EAErB,mBAAmB,EACpB,MAAM,UAAU,CAAC;AAGlB,KAAK,eAAe,GAAG;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,CAAC,EAAE,mBAAmB,CAAC;CAC5C,CAAC;AAoJF,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,eAAe,GAAG,qBAAqB,CA6ClG"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAWhC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAoB7F;AAGD,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,KAAK,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAE7E,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAWhC,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAqB7F;AAGD,YAAY,EAAE,uBAAuB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { createPlushAnalyticsClient, PlushAnalyticsClient } from "./client";
2
2
  export { createMobileReplayRecorderAdapter } from "./adapters/mobileReplayAdapter";
3
3
  export { PlushAnalyticsProvider, usePlushAnalytics } from "./provider";
4
- export type { EventEnvelope, EventType, FlushResult, GroupOptions, IdentifyOptions, JsonValue, MobileReplayConfig, PlushAnalytics, PlushAnalyticsConfig, ReplayChunkEnvelope, ReplayRecordEmission, ReplayRecorderAdapter, RetryOptions, ScreenOptions, SessionRecordingOptions, StorageAdapter, TrackOptions, UnifiedBatchPayload } from "./types";
4
+ export type { EventEnvelope, EventType, FlushResult, GroupOptions, IdentifyOptions, JsonValue, MobileReplayConfig, PlushAnalytics, PlushAnalyticsConfig, ReplayChunkEnvelope, ReplayRecordEmission, ReplayRecorderAdapter, RetryOptions, ScreenOptions, SessionRecordingOptions, SessionReplayConfig, SessionReplayMaskingConfig, StorageAdapter, TrackOptions, UnifiedBatchPayload } from "./types";
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,cAAc,EACd,YAAY,EACZ,mBAAmB,EACpB,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAC5E,OAAO,EAAE,iCAAiC,EAAE,MAAM,gCAAgC,CAAC;AACnF,OAAO,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AACvE,YAAY,EACV,aAAa,EACb,SAAS,EACT,WAAW,EACX,YAAY,EACZ,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,mBAAmB,EACnB,0BAA0B,EAC1B,cAAc,EACd,YAAY,EACZ,mBAAmB,EACpB,MAAM,SAAS,CAAC"}
@@ -7,6 +7,7 @@ export declare function start(sessionId: string, sdkOptions: {
7
7
  }): Promise<void>;
8
8
  export declare function startSession(sessionId: string): Promise<void>;
9
9
  export declare function endSession(): Promise<void>;
10
+ export declare function flush(): Promise<void>;
10
11
  export declare function isEnabled(): Promise<boolean>;
11
12
  export declare function identify(distinctId: string, anonymousId: string): Promise<void>;
12
13
  export interface PostHogReactNativeSessionReplayModule {
@@ -21,6 +22,7 @@ export interface PostHogReactNativeSessionReplayModule {
21
22
  }) => Promise<void>;
22
23
  startSession: (sessionId: string) => Promise<void>;
23
24
  endSession: () => Promise<void>;
25
+ flush: () => Promise<void>;
24
26
  isEnabled: () => Promise<boolean>;
25
27
  identify: (distinctId: string, anonymousId: string) => Promise<void>;
26
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nativeBridge.d.ts","sourceRoot":"","sources":["../../../../src/nativeBridge.ts"],"names":[],"mappings":"AAoBA,wBAAgB,KAAK,CACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAClC,eAAe,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACvC,kBAAkB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GACzC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;AAED,wBAAgB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1C;AAED,wBAAgB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAE5C;AAED,wBAAgB,QAAQ,CACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,MAAM,WAAW,qCAAqC;IACpD,KAAK,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,kCAAkC;IACtE,eAAe,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,kBAAkB;IAC3D,kBAAkB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KACvC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,QAAA,MAAM,+BAA+B,EAAE,qCAMtC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
1
+ {"version":3,"file":"nativeBridge.d.ts","sourceRoot":"","sources":["../../../../src/nativeBridge.ts"],"names":[],"mappings":"AAoBA,wBAAgB,KAAK,CACnB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EAClC,eAAe,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,EACvC,kBAAkB,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,GACzC,OAAO,CAAC,IAAI,CAAC,CAOf;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7D;AAED,wBAAgB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAE1C;AAED,wBAAgB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAErC;AAED,wBAAgB,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAE5C;AAED,wBAAgB,QAAQ,CACtB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,MAAM,WAAW,qCAAqC;IACpD,KAAK,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,kCAAkC;IACtE,eAAe,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,EAAE,kBAAkB;IAC3D,kBAAkB,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,KACvC,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnB,YAAY,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnD,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAElC,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACtE;AAED,QAAA,MAAM,+BAA+B,EAAE,qCAOtC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
@@ -1,18 +1,29 @@
1
1
  import type { EventEnvelope, EventType, FlushResult, GroupOptions, IdentifyOptions, JsonValue, PlushAnalytics as CorePlushAnalytics, PlushAnalyticsConfig as CoreConfig, ReplayChunkEnvelope, ReplayRecordEmission, ReplayRecorderAdapter, RetryOptions, ScreenOptions, SessionRecordingOptions as CoreSessionRecordingOptions, StorageAdapter, TrackOptions, UnifiedBatchPayload } from "@plushanalytics/javascript";
2
- export type MobileReplayConfig = {
3
- maskAllTextInputs?: boolean;
4
- maskAllImages?: boolean;
5
- maskAllSandboxedViews?: boolean;
2
+ export type SessionReplayMaskingConfig = {
3
+ textInputs?: boolean;
4
+ images?: boolean;
5
+ sandboxedViews?: boolean;
6
+ };
7
+ export type SessionReplayConfig = {
8
+ enabled?: boolean;
9
+ masking?: SessionReplayMaskingConfig;
6
10
  captureLog?: boolean;
7
11
  captureNetworkTelemetry?: boolean;
8
12
  throttleDelayMs?: number;
9
13
  };
14
+ export type MobileReplayConfig = SessionReplayConfig & {
15
+ maskAllTextInputs?: boolean;
16
+ maskAllImages?: boolean;
17
+ maskAllSandboxedViews?: boolean;
18
+ };
10
19
  export type SessionRecordingOptions = CoreSessionRecordingOptions & {
11
20
  replayHost?: string;
12
21
  replaySnapshotPath?: string;
13
22
  replayConfig?: MobileReplayConfig;
14
23
  };
15
- export type PlushAnalyticsConfig = CoreConfig;
24
+ export type PlushAnalyticsConfig = CoreConfig & {
25
+ sessionReplayConfig?: SessionReplayConfig;
26
+ };
16
27
  export type { EventEnvelope, EventType, FlushResult, GroupOptions, IdentifyOptions, JsonValue, ReplayChunkEnvelope, ReplayRecordEmission, ReplayRecorderAdapter, RetryOptions, ScreenOptions, StorageAdapter, TrackOptions, UnifiedBatchPayload };
17
28
  export type PlushAnalytics = Omit<CorePlushAnalytics, "startSessionRecording" | "startReplay"> & {
18
29
  startSessionRecording: (options?: SessionRecordingOptions) => Promise<void>;