@multiplayer-app/session-recorder-browser 1.3.16 → 1.3.17-session-buffering.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.
Files changed (64) hide show
  1. package/dist/browser/index.js +1224 -174
  2. package/dist/config/constants.d.ts +1 -0
  3. package/dist/config/constants.d.ts.map +1 -1
  4. package/dist/config/constants.js +2 -0
  5. package/dist/config/constants.js.map +1 -1
  6. package/dist/config/defaults.d.ts.map +1 -1
  7. package/dist/config/defaults.js +5 -0
  8. package/dist/config/defaults.js.map +1 -1
  9. package/dist/config/session-recorder.d.ts.map +1 -1
  10. package/dist/config/session-recorder.js +6 -1
  11. package/dist/config/session-recorder.js.map +1 -1
  12. package/dist/exporters/index.js +1 -1
  13. package/dist/exporters/index.js.LICENSE.txt +2 -0
  14. package/dist/exporters/index.js.map +1 -1
  15. package/dist/index.js +1216 -175
  16. package/dist/index.js.map +1 -1
  17. package/dist/index.umd.js +1214 -174
  18. package/dist/index.umd.js.map +1 -1
  19. package/dist/otel/index.d.ts +7 -1
  20. package/dist/otel/index.d.ts.map +1 -1
  21. package/dist/otel/index.js +63 -3
  22. package/dist/otel/index.js.map +1 -1
  23. package/dist/patch/fetch.js +2 -2
  24. package/dist/patch/fetch.js.map +1 -1
  25. package/dist/rrweb/index.d.ts +50 -17
  26. package/dist/rrweb/index.d.ts.map +1 -1
  27. package/dist/rrweb/index.js +158 -84
  28. package/dist/rrweb/index.js.map +1 -1
  29. package/dist/services/crashBuffer.service.d.ts +60 -0
  30. package/dist/services/crashBuffer.service.d.ts.map +1 -0
  31. package/dist/services/crashBuffer.service.js +161 -0
  32. package/dist/services/crashBuffer.service.js.map +1 -0
  33. package/dist/services/indexedDb.service.d.ts +72 -0
  34. package/dist/services/indexedDb.service.d.ts.map +1 -0
  35. package/dist/services/indexedDb.service.js +335 -0
  36. package/dist/services/indexedDb.service.js.map +1 -0
  37. package/dist/services/socket.service.d.ts +3 -2
  38. package/dist/services/socket.service.d.ts.map +1 -1
  39. package/dist/services/socket.service.js +8 -1
  40. package/dist/services/socket.service.js.map +1 -1
  41. package/dist/session-recorder.d.ts +12 -1
  42. package/dist/session-recorder.d.ts.map +1 -1
  43. package/dist/session-recorder.js +155 -7
  44. package/dist/session-recorder.js.map +1 -1
  45. package/dist/types/session-recorder.d.ts +20 -0
  46. package/dist/types/session-recorder.d.ts.map +1 -1
  47. package/dist/types/session-recorder.js.map +1 -1
  48. package/dist/utils/index.d.ts +1 -0
  49. package/dist/utils/index.d.ts.map +1 -1
  50. package/dist/utils/index.js +1 -0
  51. package/dist/utils/index.js.map +1 -1
  52. package/dist/utils/storage.d.ts +4 -1
  53. package/dist/utils/storage.d.ts.map +1 -1
  54. package/dist/utils/storage.js +35 -13
  55. package/dist/utils/storage.js.map +1 -1
  56. package/dist/utils/tabId.d.ts +2 -0
  57. package/dist/utils/tabId.d.ts.map +1 -0
  58. package/dist/utils/tabId.js +22 -0
  59. package/dist/utils/tabId.js.map +1 -0
  60. package/package.json +2 -2
  61. package/dist/rrweb/indexedDbService.d.ts +0 -9
  62. package/dist/rrweb/indexedDbService.d.ts.map +0 -1
  63. package/dist/rrweb/indexedDbService.js +0 -54
  64. package/dist/rrweb/indexedDbService.js.map +0 -1
@@ -0,0 +1,335 @@
1
+ const dbName = 'mpEventsDB';
2
+ const dbVersion = 2;
3
+ const legacyStoreName = 'mpEventsStore';
4
+ const rrwebEventsStore = 'rrwebEvents';
5
+ const otelSpansStore = 'otelSpans';
6
+ const attrsStore = 'crashBufferAttrs';
7
+ export class IndexedDBService {
8
+ constructor() {
9
+ this.dbPromise = this.openDB();
10
+ }
11
+ openDB() {
12
+ return new Promise((resolve, reject) => {
13
+ const request = indexedDB.open(dbName, dbVersion);
14
+ request.onupgradeneeded = () => {
15
+ const db = request.result;
16
+ // Keep the legacy store if it exists to avoid breaking older versions.
17
+ if (!db.objectStoreNames.contains(legacyStoreName)) {
18
+ db.createObjectStore(legacyStoreName, { keyPath: 'id', autoIncrement: true });
19
+ }
20
+ if (!db.objectStoreNames.contains(rrwebEventsStore)) {
21
+ const store = db.createObjectStore(rrwebEventsStore, { keyPath: 'id', autoIncrement: true });
22
+ store.createIndex('tabId_ts', ['tabId', 'ts'], { unique: false });
23
+ }
24
+ if (!db.objectStoreNames.contains(otelSpansStore)) {
25
+ const store = db.createObjectStore(otelSpansStore, { keyPath: 'id', autoIncrement: true });
26
+ store.createIndex('tabId_ts', ['tabId', 'ts'], { unique: false });
27
+ }
28
+ if (!db.objectStoreNames.contains(attrsStore)) {
29
+ db.createObjectStore(attrsStore, { keyPath: 'tabId' });
30
+ }
31
+ };
32
+ request.onsuccess = () => resolve(request.result);
33
+ request.onerror = () => reject(request.error);
34
+ });
35
+ }
36
+ /**
37
+ * @deprecated Prefer `appendRrwebEvent(tabId, ...)` and `getRrwebEventsWindow(...)`.
38
+ * This writes into the legacy store with no pruning semantics.
39
+ */
40
+ async saveEvent(event) {
41
+ const db = await this.dbPromise;
42
+ return new Promise((resolve, reject) => {
43
+ const tx = db.transaction(legacyStoreName, 'readwrite');
44
+ const store = tx.objectStore(legacyStoreName);
45
+ store.add({ event });
46
+ tx.oncomplete = () => resolve();
47
+ tx.onerror = () => reject(tx.error);
48
+ });
49
+ }
50
+ /**
51
+ * @deprecated Prefer `getRrwebEventsWindow(...)`.
52
+ */
53
+ async getAllEvents() {
54
+ const db = await this.dbPromise;
55
+ return new Promise((resolve, reject) => {
56
+ const tx = db.transaction(legacyStoreName, 'readonly');
57
+ const store = tx.objectStore(legacyStoreName);
58
+ const request = store.getAll();
59
+ request.onsuccess = () => {
60
+ const events = request.result.map((record) => record.event);
61
+ resolve(events);
62
+ };
63
+ request.onerror = () => reject(request.error);
64
+ });
65
+ }
66
+ /**
67
+ * @deprecated Prefer `clearTab(tabId)`.
68
+ */
69
+ async clearEvents() {
70
+ const db = await this.dbPromise;
71
+ return new Promise((resolve, reject) => {
72
+ const tx = db.transaction(legacyStoreName, 'readwrite');
73
+ const store = tx.objectStore(legacyStoreName);
74
+ store.clear();
75
+ tx.oncomplete = () => resolve();
76
+ tx.onerror = () => reject(tx.error);
77
+ });
78
+ }
79
+ async setAttrs(attrs) {
80
+ var _a;
81
+ const db = await this.dbPromise;
82
+ const payload = {
83
+ ...attrs,
84
+ updatedAt: (_a = attrs.updatedAt) !== null && _a !== void 0 ? _a : Date.now(),
85
+ };
86
+ return new Promise((resolve, reject) => {
87
+ const tx = db.transaction(attrsStore, 'readwrite');
88
+ tx.objectStore(attrsStore).put(payload);
89
+ tx.oncomplete = () => resolve();
90
+ tx.onerror = () => reject(tx.error);
91
+ });
92
+ }
93
+ async getAttrs(tabId) {
94
+ const db = await this.dbPromise;
95
+ return new Promise((resolve, reject) => {
96
+ const tx = db.transaction(attrsStore, 'readonly');
97
+ const request = tx.objectStore(attrsStore).get(tabId);
98
+ request.onsuccess = () => resolve(request.result || null);
99
+ request.onerror = () => reject(request.error);
100
+ });
101
+ }
102
+ async getAllAttrs() {
103
+ const db = await this.dbPromise;
104
+ return new Promise((resolve, reject) => {
105
+ const tx = db.transaction(attrsStore, 'readonly');
106
+ const request = tx.objectStore(attrsStore).getAll();
107
+ request.onsuccess = () => resolve(request.result || []);
108
+ request.onerror = () => reject(request.error);
109
+ });
110
+ }
111
+ /**
112
+ * Updates `updatedAt` for the tab without clobbering existing attributes.
113
+ */
114
+ async touchTab(tabId, updatedAt = Date.now()) {
115
+ const db = await this.dbPromise;
116
+ return new Promise((resolve, reject) => {
117
+ const tx = db.transaction(attrsStore, 'readwrite');
118
+ const store = tx.objectStore(attrsStore);
119
+ const getReq = store.get(tabId);
120
+ getReq.onsuccess = () => {
121
+ const existing = (getReq.result || null);
122
+ const next = existing
123
+ ? { ...existing, updatedAt }
124
+ : { tabId, updatedAt };
125
+ store.put(next);
126
+ };
127
+ getReq.onerror = () => reject(getReq.error);
128
+ tx.oncomplete = () => resolve();
129
+ tx.onerror = () => reject(tx.error);
130
+ });
131
+ }
132
+ /**
133
+ * Best-effort garbage collection for orphaned tabs.
134
+ * Deletes all data for tabs whose `attrs.updatedAt` is older than `maxAgeMs`.
135
+ */
136
+ async sweepStaleTabs(maxAgeMs, now = Date.now()) {
137
+ const attrs = await this.getAllAttrs().catch(() => []);
138
+ if (!attrs.length)
139
+ return 0;
140
+ const stale = attrs
141
+ .filter((a) => typeof (a === null || a === void 0 ? void 0 : a.updatedAt) === 'number' && now - a.updatedAt > maxAgeMs)
142
+ .map((a) => a.tabId);
143
+ let cleared = 0;
144
+ for (const tabId of stale) {
145
+ try {
146
+ await this.clearTab(tabId);
147
+ cleared += 1;
148
+ }
149
+ catch (_e) {
150
+ // best effort
151
+ }
152
+ }
153
+ return cleared;
154
+ }
155
+ async appendRrwebEvent(record) {
156
+ const db = await this.dbPromise;
157
+ return new Promise((resolve, reject) => {
158
+ const tx = db.transaction(rrwebEventsStore, 'readwrite');
159
+ tx.objectStore(rrwebEventsStore).add(record);
160
+ tx.oncomplete = () => resolve();
161
+ tx.onerror = () => reject(tx.error);
162
+ });
163
+ }
164
+ async appendOtelSpan(record) {
165
+ const db = await this.dbPromise;
166
+ return new Promise((resolve, reject) => {
167
+ const tx = db.transaction(otelSpansStore, 'readwrite');
168
+ tx.objectStore(otelSpansStore).add(record);
169
+ tx.oncomplete = () => resolve();
170
+ tx.onerror = () => reject(tx.error);
171
+ });
172
+ }
173
+ async getRrwebEventsWindow(tabId, fromTs, toTs) {
174
+ const db = await this.dbPromise;
175
+ const range = IDBKeyRange.bound([tabId, fromTs], [tabId, toTs]);
176
+ return new Promise((resolve, reject) => {
177
+ const tx = db.transaction(rrwebEventsStore, 'readonly');
178
+ const idx = tx.objectStore(rrwebEventsStore).index('tabId_ts');
179
+ const req = idx.getAll(range);
180
+ req.onsuccess = () => resolve(req.result || []);
181
+ req.onerror = () => reject(req.error);
182
+ });
183
+ }
184
+ /**
185
+ * Returns the last (highest-ts) FullSnapshot record at/before `cutoffTs`.
186
+ * Used to keep a replayable anchor when pruning.
187
+ */
188
+ async getLastRrwebFullSnapshotBefore(tabId, cutoffTs) {
189
+ const db = await this.dbPromise;
190
+ const range = IDBKeyRange.bound([tabId, 0], [tabId, cutoffTs]);
191
+ return new Promise((resolve, reject) => {
192
+ const tx = db.transaction(rrwebEventsStore, 'readonly');
193
+ const idx = tx.objectStore(rrwebEventsStore).index('tabId_ts');
194
+ const req = idx.openCursor(range, 'prev');
195
+ req.onsuccess = () => {
196
+ const cursor = req.result;
197
+ if (!cursor) {
198
+ resolve(null);
199
+ return;
200
+ }
201
+ const value = cursor.value;
202
+ if (value === null || value === void 0 ? void 0 : value.isFullSnapshot) {
203
+ resolve(value);
204
+ return;
205
+ }
206
+ cursor.continue();
207
+ };
208
+ req.onerror = () => reject(req.error);
209
+ });
210
+ }
211
+ async getOtelSpansWindow(tabId, fromTs, toTs) {
212
+ const db = await this.dbPromise;
213
+ const range = IDBKeyRange.bound([tabId, fromTs], [tabId, toTs]);
214
+ return new Promise((resolve, reject) => {
215
+ const tx = db.transaction(otelSpansStore, 'readonly');
216
+ const idx = tx.objectStore(otelSpansStore).index('tabId_ts');
217
+ const req = idx.getAll(range);
218
+ req.onsuccess = () => resolve(req.result || []);
219
+ req.onerror = () => reject(req.error);
220
+ });
221
+ }
222
+ async pruneOlderThan(tabId, cutoffTs) {
223
+ const db = await this.dbPromise;
224
+ const rrwebRange = IDBKeyRange.bound([tabId, 0], [tabId, cutoffTs]);
225
+ const spansRange = IDBKeyRange.bound([tabId, 0], [tabId, cutoffTs]);
226
+ const pruneStore = (store, range) => new Promise((resolve, reject) => {
227
+ const idx = store.index('tabId_ts');
228
+ const req = idx.openCursor(range);
229
+ req.onsuccess = () => {
230
+ const cursor = req.result;
231
+ if (!cursor) {
232
+ resolve();
233
+ return;
234
+ }
235
+ cursor.delete();
236
+ cursor.continue();
237
+ };
238
+ req.onerror = () => reject(req.error);
239
+ });
240
+ return new Promise((resolve, reject) => {
241
+ const tx = db.transaction([rrwebEventsStore, otelSpansStore], 'readwrite');
242
+ const rrwebStore = tx.objectStore(rrwebEventsStore);
243
+ const spanStore = tx.objectStore(otelSpansStore);
244
+ Promise.all([
245
+ pruneStore(rrwebStore, rrwebRange),
246
+ pruneStore(spanStore, spansRange),
247
+ ]).then(() => {
248
+ // noop; completion is signaled by tx.oncomplete
249
+ }).catch((e) => {
250
+ reject(e);
251
+ });
252
+ tx.oncomplete = () => resolve();
253
+ tx.onerror = () => reject(tx.error);
254
+ });
255
+ }
256
+ /**
257
+ * Prune older data while keeping rrweb replayability:
258
+ * - rrweb: keep the last FullSnapshot at/before cutoff as an "anchor"
259
+ * - spans: prune strictly by cutoff
260
+ */
261
+ async pruneOlderThanWithRrwebSnapshotAnchor(tabId, cutoffTs) {
262
+ const db = await this.dbPromise;
263
+ const anchor = await this.getLastRrwebFullSnapshotBefore(tabId, cutoffTs);
264
+ // rrweb: delete everything strictly older than the anchor snapshot (keep the anchor itself)
265
+ // spans: delete everything older than cutoffTs
266
+ const rrwebCutoffTs = typeof (anchor === null || anchor === void 0 ? void 0 : anchor.ts) === 'number' ? Math.max(0, anchor.ts - 1) : cutoffTs;
267
+ const rrwebRange = IDBKeyRange.bound([tabId, 0], [tabId, rrwebCutoffTs]);
268
+ const spansRange = IDBKeyRange.bound([tabId, 0], [tabId, cutoffTs]);
269
+ const pruneStore = (store, range) => new Promise((resolve, reject) => {
270
+ const idx = store.index('tabId_ts');
271
+ const req = idx.openCursor(range);
272
+ req.onsuccess = () => {
273
+ const cursor = req.result;
274
+ if (!cursor) {
275
+ resolve();
276
+ return;
277
+ }
278
+ cursor.delete();
279
+ cursor.continue();
280
+ };
281
+ req.onerror = () => reject(req.error);
282
+ });
283
+ return new Promise((resolve, reject) => {
284
+ const tx = db.transaction([rrwebEventsStore, otelSpansStore], 'readwrite');
285
+ const rrwebStore = tx.objectStore(rrwebEventsStore);
286
+ const spanStore = tx.objectStore(otelSpansStore);
287
+ Promise.all([
288
+ pruneStore(rrwebStore, rrwebRange),
289
+ pruneStore(spanStore, spansRange),
290
+ ]).then(() => {
291
+ // noop
292
+ }).catch((e) => reject(e));
293
+ tx.oncomplete = () => resolve();
294
+ tx.onerror = () => reject(tx.error);
295
+ });
296
+ }
297
+ async clearTab(tabId) {
298
+ const db = await this.dbPromise;
299
+ const allRange = IDBKeyRange.bound([tabId, 0], [tabId, Number.MAX_SAFE_INTEGER]);
300
+ const clearByTab = (store) => new Promise((resolve, reject) => {
301
+ const idx = store.index('tabId_ts');
302
+ const req = idx.openCursor(allRange);
303
+ req.onsuccess = () => {
304
+ const cursor = req.result;
305
+ if (!cursor) {
306
+ resolve();
307
+ return;
308
+ }
309
+ cursor.delete();
310
+ cursor.continue();
311
+ };
312
+ req.onerror = () => reject(req.error);
313
+ });
314
+ return new Promise((resolve, reject) => {
315
+ const tx = db.transaction([rrwebEventsStore, otelSpansStore, attrsStore], 'readwrite');
316
+ const rrwebStore = tx.objectStore(rrwebEventsStore);
317
+ const spanStore = tx.objectStore(otelSpansStore);
318
+ const attr = tx.objectStore(attrsStore);
319
+ Promise.all([
320
+ clearByTab(rrwebStore),
321
+ clearByTab(spanStore),
322
+ new Promise((res, rej) => {
323
+ const r = attr.delete(tabId);
324
+ r.onsuccess = () => res();
325
+ r.onerror = () => rej(r.error);
326
+ }),
327
+ ]).then(() => {
328
+ // noop
329
+ }).catch((e) => reject(e));
330
+ tx.oncomplete = () => resolve();
331
+ tx.onerror = () => reject(tx.error);
332
+ });
333
+ }
334
+ }
335
+ //# sourceMappingURL=indexedDb.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexedDb.service.js","sourceRoot":"","sources":["../../src/services/indexedDb.service.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { Observable } from 'lib0/observable';
2
- import { SESSION_AUTO_CREATED, SESSION_STOPPED_EVENT, REMOTE_SESSION_RECORDING_START, REMOTE_SESSION_RECORDING_STOP } from '../config';
2
+ import { SESSION_AUTO_CREATED, SESSION_STOPPED_EVENT, REMOTE_SESSION_RECORDING_START, REMOTE_SESSION_RECORDING_STOP, SESSION_SAVE_BUFFER_EVENT } from '../config';
3
3
  import { type ISession, type IUserAttributes } from '@multiplayer-app/session-recorder-common';
4
- export type SocketServiceEvents = typeof SESSION_STOPPED_EVENT | typeof SESSION_AUTO_CREATED | typeof REMOTE_SESSION_RECORDING_START | typeof REMOTE_SESSION_RECORDING_STOP;
4
+ export type SocketServiceEvents = typeof SESSION_STOPPED_EVENT | typeof SESSION_AUTO_CREATED | typeof REMOTE_SESSION_RECORDING_START | typeof REMOTE_SESSION_RECORDING_STOP | typeof SESSION_SAVE_BUFFER_EVENT;
5
5
  export interface SocketServiceOptions {
6
6
  apiKey: string;
7
7
  socketUrl: string;
8
8
  keepAlive?: boolean;
9
9
  usePostMessageFallback?: boolean;
10
+ clientId?: string;
10
11
  }
11
12
  export declare class SocketService extends Observable<SocketServiceEvents> {
12
13
  private socket;
@@ -1 +1 @@
1
- {"version":3,"file":"socket.service.d.ts","sourceRoot":"","sources":["../../src/services/socket.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,OAAO,EAEL,oBAAoB,EACpB,qBAAqB,EAIrB,8BAA8B,EAC9B,6BAA6B,EAE9B,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,eAAe,EAAE,MAAM,0CAA0C,CAAA;AAK9F,MAAM,MAAM,mBAAmB,GAC3B,OAAO,qBAAqB,GAC5B,OAAO,oBAAoB,GAC3B,OAAO,8BAA8B,GACrC,OAAO,6BAA6B,CAAA;AAExC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAA;CACjC;AAED,qBAAa,aAAc,SAAQ,UAAU,CAAC,mBAAmB,CAAC;IAChE,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAiB;;IAYvC;;;OAGG;IACI,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAc/C;;;OAGG;IACI,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IA4BjE,OAAO,CAAC,eAAe;IAiDvB,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,UAAU;IAaX,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAItB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAa3C,sBAAsB,CAAC,WAAW,CAAC,EAAE,OAAO;IAS5C,OAAO,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAIrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB9B"}
1
+ {"version":3,"file":"socket.service.d.ts","sourceRoot":"","sources":["../../src/services/socket.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAI5C,OAAO,EAEL,oBAAoB,EACpB,qBAAqB,EAIrB,8BAA8B,EAC9B,6BAA6B,EAE7B,yBAAyB,EAC1B,MAAM,WAAW,CAAA;AAClB,OAAO,EACL,KAAK,QAAQ,EACb,KAAK,eAAe,EAErB,MAAM,0CAA0C,CAAA;AAKjD,MAAM,MAAM,mBAAmB,GAC3B,OAAO,qBAAqB,GAC5B,OAAO,oBAAoB,GAC3B,OAAO,8BAA8B,GACrC,OAAO,6BAA6B,GACpC,OAAO,yBAAyB,CAAA;AAEpC,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,qBAAa,aAAc,SAAQ,UAAU,CAAC,mBAAmB,CAAC;IAChE,OAAO,CAAC,MAAM,CAAsB;IACpC,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,YAAY,CAAiB;IACrC,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAY;IAC5B,OAAO,CAAC,SAAS,CAAsB;IACvC,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,cAAc,CAAiB;;IAYvC;;;OAGG;IACI,IAAI,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI;IAc/C;;;OAGG;IACI,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI;IA4BjE,OAAO,CAAC,eAAe;IAwDvB,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,kBAAkB;IAK1B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,UAAU;IAaX,IAAI,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAItB,kBAAkB,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI;IAa3C,sBAAsB,CAAC,WAAW,CAAC,EAAE,OAAO;IAS5C,OAAO,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAIrD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAoB9B"}
@@ -1,7 +1,8 @@
1
1
  import io from 'socket.io-client';
2
2
  import { Observable } from 'lib0/observable';
3
3
  import messagingService from '../services/messaging.service';
4
- import { SESSION_ADD_EVENT, SESSION_AUTO_CREATED, SESSION_STOPPED_EVENT, SESSION_SUBSCRIBE_EVENT, SESSION_UNSUBSCRIBE_EVENT, SOCKET_SET_USER_EVENT, REMOTE_SESSION_RECORDING_START, REMOTE_SESSION_RECORDING_STOP, SESSION_STARTED_EVENT, } from '../config';
4
+ import { SESSION_ADD_EVENT, SESSION_AUTO_CREATED, SESSION_STOPPED_EVENT, SESSION_SUBSCRIBE_EVENT, SESSION_UNSUBSCRIBE_EVENT, SOCKET_SET_USER_EVENT, REMOTE_SESSION_RECORDING_START, REMOTE_SESSION_RECORDING_STOP, SESSION_STARTED_EVENT, SESSION_SAVE_BUFFER_EVENT, } from '../config';
5
+ import { ATTR_MULTIPLAYER_SESSION_CLIENT_ID, } from '@multiplayer-app/session-recorder-common';
5
6
  const MAX_RECONNECTION_ATTEMPTS = 2;
6
7
  export class SocketService extends Observable {
7
8
  constructor() {
@@ -70,6 +71,9 @@ export class SocketService extends Observable {
70
71
  path: '/v0/radar/ws',
71
72
  auth: {
72
73
  'x-api-key': this.options.apiKey,
74
+ ...this.options.clientId
75
+ ? { [ATTR_MULTIPLAYER_SESSION_CLIENT_ID]: this.options.clientId }
76
+ : {},
73
77
  },
74
78
  reconnectionAttempts: 2,
75
79
  transports: ['websocket'],
@@ -101,6 +105,9 @@ export class SocketService extends Observable {
101
105
  this.socket.on(REMOTE_SESSION_RECORDING_STOP, (data) => {
102
106
  this.emit(REMOTE_SESSION_RECORDING_STOP, [data]);
103
107
  });
108
+ this.socket.on(SESSION_SAVE_BUFFER_EVENT, (data) => {
109
+ this.emit(SESSION_SAVE_BUFFER_EVENT, [data]);
110
+ });
104
111
  }
105
112
  checkReconnectionAttempts() {
106
113
  if (this.attempts >= MAX_RECONNECTION_ATTEMPTS) {
@@ -1 +1 @@
1
- {"version":3,"file":"socket.service.js","sourceRoot":"","sources":["../../src/services/socket.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"socket.service.js","sourceRoot":"","sources":["../../src/services/socket.service.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,11 @@ export declare class SessionRecorder extends Observable<SessionRecorderEvents> i
12
12
  private _sessionWidget;
13
13
  private _navigationRecorder;
14
14
  private _startRequestController;
15
+ private _tabId;
16
+ private _bufferDb;
17
+ private _crashBuffer;
18
+ private _isFlushingBuffer;
19
+ private _bufferLifecycleHandlersRegistered;
15
20
  get navigation(): NavigationRecorderPublicApi;
16
21
  private _isInitialized;
17
22
  get isInitialized(): boolean;
@@ -57,6 +62,9 @@ export declare class SessionRecorder extends Observable<SessionRecorderEvents> i
57
62
  * @param configs - custom configurations for session debugger
58
63
  */
59
64
  init(configs: SessionRecorderOptions): void;
65
+ private _registerCrashBufferLifecycleHandlers;
66
+ private _updateCrashBufferActiveState;
67
+ private _startBufferOnlyRecording;
60
68
  /**
61
69
  * Save the continuous recording session
62
70
  */
@@ -106,6 +114,9 @@ export declare class SessionRecorder extends Observable<SessionRecorderEvents> i
106
114
  * Capture an exception manually and send it as an error trace.
107
115
  */
108
116
  captureException(error: unknown, errorInfo?: Record<string, any>): void;
117
+ flushBuffer(payload?: {
118
+ reason?: string;
119
+ }): Promise<any>;
109
120
  /**
110
121
  * @description Check if session should be started/stopped automatically
111
122
  * @param {ISession} [sessionPayload]
@@ -170,7 +181,7 @@ export declare class SessionRecorder extends Observable<SessionRecorderEvents> i
170
181
  private _resume;
171
182
  private _setupSessionAndStart;
172
183
  /**
173
- * Set the session ID in localStorage
184
+ * Set the session ID in sessionStorage (with fallback)
174
185
  * @param sessionId - the session ID to set or clear
175
186
  */
176
187
  private _setSession;
@@ -1 +1 @@
1
- {"version":3,"file":"session-recorder.d.ts","sourceRoot":"","sources":["../src/session-recorder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EACL,WAAW,EACX,KAAK,QAAQ,EACb,KAAK,eAAe,EACrB,MAAM,0CAA0C,CAAA;AAYjD,OAAO,EACL,YAAY,EACZ,sBAAsB,EAEtB,qBAAqB,EAEtB,MAAM,SAAS,CAAA;AA0BhB,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAsB,2BAA2B,EAAE,MAAM,cAAc,CAAA;AAI9E,qBAAa,eAAgB,SAAQ,UAAU,CAAC,qBAAqB,CAAE,YAAW,gBAAgB;IAEhG,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,WAAW,CAAmB;IACtC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,OAAO,CAAyB;IACxC,OAAO,CAAC,SAAS,CAA2B;IAC5C,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,mBAAmB,CAA2B;IACtD,OAAO,CAAC,uBAAuB,CAA+B;IAE9D,IAAW,UAAU,IAAI,2BAA2B,CAEnD;IAED,OAAO,CAAC,cAAc,CAAQ;IAC9B,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED,OAAO,CAAC,UAAU,CAAsB;IACxC,IAAI,SAAS,IAAI,MAAM,GAAG,IAAI,CAE7B;IACD,IAAI,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAGrC;IAED,OAAO,CAAC,YAAY,CAAkC;IACtD,IAAI,WAAW,IAAI,WAAW,CAE7B;IACD,IAAI,WAAW,CAAC,WAAW,EAAE,WAAW,EAMvC;IAGD,IAAI,mBAAmB,IAAI,OAAO,CAEjC;IAED,OAAO,CAAC,aAAa,CAA4B;IACjD,IAAI,YAAY,IAAI,YAAY,GAAG,IAAI,CAEtC;IACD,IAAI,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,EAO1C;IAED,OAAO,CAAC,QAAQ,CAAwB;IACxC,IAAI,OAAO,IAAI,QAAQ,GAAG,IAAI,CAE7B;IACD,IAAI,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,IAAI,EAGnC;IAED,OAAO,CAAC,kBAAkB,CAAmC;IAC7D,IAAI,iBAAiB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAE3C;IACD,IAAI,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,EAE3D;IAED,OAAO,CAAC,eAAe,CAA+B;IACtD,IAAI,cAAc,IAAI,eAAe,GAAG,IAAI,CAE3C;IACD,IAAI,cAAc,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI,EAExD;IACD;;OAEG;IACH,OAAO,CAAC,MAAM,CAAa;IAC3B,IAAW,KAAK,IAAI,MAAM,CAEzB;IAED,IAAW,KAAK,CAAC,CAAC,EAAE,MAAM,EAIzB;IAED;;;;;;OAMG;IACH,IAAW,0BAA0B,IAAI,iBAAiB,GAAG,IAAI,CAEhE;IAED;;OAEG;;IA4BH;;;OAGG;IACI,IAAI,CAAC,OAAO,EAAE,sBAAsB,GAAG,IAAI;IAmDlD;;OAEG;IACU,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAkDjC;;;;OAIG;IACI,KAAK,CAAC,IAAI,GAAE,WAAgC,EAAE,OAAO,CAAC,EAAE,QAAQ,GAAG,IAAI;IAe9E;;;OAGG;IACU,IAAI,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqBlD;;OAEG;IACU,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IASnC;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IASpC;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAgBpC;;;MAGE;IACK,oBAAoB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAIlE;;;OAGG;IACI,iBAAiB,CAAC,cAAc,EAAE,eAAe,GAAG,IAAI,GAAG,IAAI;IAQtE;;;;;;OAMG;IACH,IAAW,2BAA2B,CAAC,OAAO,EAAE,MAAM,OAAO,GAAG,IAAI,EAEnE;IAED;;OAEG;IACI,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI;IAU9E;;;;OAIG;IACU,4BAA4B,CACvC,cAAc,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,CAAC,GACjD,OAAO,CAAC,IAAI,CAAC;IA+BhB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAyC7B;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAKnB;;OAEG;IACH,OAAO,CAAC,YAAY;IAKpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,WAAW;IAMnB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAMlC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAqCvC;;OAEG;YACW,sBAAsB;IA+BpC;;OAEG;IACH,OAAO,CAAC,MAAM;IAed;;OAEG;IACH,OAAO,CAAC,KAAK;IAQb;;OAEG;IACH,OAAO,CAAC,MAAM;IAOd;;OAEG;IACH,OAAO,CAAC,OAAO;IAOf,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,WAAW;IAOnB,OAAO,CAAC,aAAa;IAMrB;;;OAGG;IACH,OAAO,CAAC,eAAe;IA2DvB,OAAO,CAAC,eAAe;IAUvB,OAAO,CAAC,mBAAmB;IAU3B;;;OAGG;IACH,OAAO,CAAC,eAAe;CAOxB"}
1
+ {"version":3,"file":"session-recorder.d.ts","sourceRoot":"","sources":["../src/session-recorder.ts"],"names":[],"mappings":"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"}