@multiplatform.one/frappe 6.4.3 → 6.7.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 (125) hide show
  1. package/dist/cjs/collection.cjs +25 -9
  2. package/dist/cjs/collection.native.js +25 -9
  3. package/dist/cjs/collection.native.js.map +1 -1
  4. package/dist/cjs/db.cjs +13 -2
  5. package/dist/cjs/db.native.js +18 -2
  6. package/dist/cjs/db.native.js.map +1 -1
  7. package/dist/cjs/frappeReact.cjs +10 -3
  8. package/dist/cjs/frappeReact.native.js +10 -3
  9. package/dist/cjs/frappeReact.native.js.map +1 -1
  10. package/dist/cjs/index.cjs +1 -0
  11. package/dist/cjs/index.native.js +1 -0
  12. package/dist/cjs/index.native.js.map +1 -1
  13. package/dist/cjs/realtime.cjs +222 -11
  14. package/dist/cjs/realtime.native.js +352 -14
  15. package/dist/cjs/realtime.native.js.map +1 -1
  16. package/dist/cjs/sync/index.cjs +6 -1
  17. package/dist/cjs/sync/index.native.js +6 -1
  18. package/dist/cjs/sync/index.native.js.map +1 -1
  19. package/dist/cjs/sync/mutationEngine.cjs +43 -19
  20. package/dist/cjs/sync/mutationEngine.native.js +51 -21
  21. package/dist/cjs/sync/mutationEngine.native.js.map +1 -1
  22. package/dist/cjs/sync/subscriptionManager.cjs +4 -0
  23. package/dist/cjs/sync/subscriptionManager.native.js +4 -0
  24. package/dist/cjs/sync/subscriptionManager.native.js.map +1 -1
  25. package/dist/cjs/sync/types.native.js.map +1 -1
  26. package/dist/esm/collection.mjs +24 -9
  27. package/dist/esm/collection.mjs.map +1 -1
  28. package/dist/esm/collection.native.js +24 -9
  29. package/dist/esm/collection.native.js.map +1 -1
  30. package/dist/esm/db.mjs +13 -2
  31. package/dist/esm/db.mjs.map +1 -1
  32. package/dist/esm/db.native.js +18 -2
  33. package/dist/esm/db.native.js.map +1 -1
  34. package/dist/esm/frappeReact.mjs +11 -4
  35. package/dist/esm/frappeReact.mjs.map +1 -1
  36. package/dist/esm/frappeReact.native.js +11 -4
  37. package/dist/esm/frappeReact.native.js.map +1 -1
  38. package/dist/esm/index.mjs +2 -2
  39. package/dist/esm/index.mjs.map +1 -1
  40. package/dist/esm/index.native.js +2 -2
  41. package/dist/esm/index.native.js.map +1 -1
  42. package/dist/esm/realtime.mjs +222 -11
  43. package/dist/esm/realtime.mjs.map +1 -1
  44. package/dist/esm/realtime.native.js +352 -14
  45. package/dist/esm/realtime.native.js.map +1 -1
  46. package/dist/esm/sync/index.mjs +6 -1
  47. package/dist/esm/sync/index.mjs.map +1 -1
  48. package/dist/esm/sync/index.native.js +6 -1
  49. package/dist/esm/sync/index.native.js.map +1 -1
  50. package/dist/esm/sync/mutationEngine.mjs +43 -19
  51. package/dist/esm/sync/mutationEngine.mjs.map +1 -1
  52. package/dist/esm/sync/mutationEngine.native.js +51 -21
  53. package/dist/esm/sync/mutationEngine.native.js.map +1 -1
  54. package/dist/esm/sync/subscriptionManager.mjs +4 -0
  55. package/dist/esm/sync/subscriptionManager.mjs.map +1 -1
  56. package/dist/esm/sync/subscriptionManager.native.js +4 -0
  57. package/dist/esm/sync/subscriptionManager.native.js.map +1 -1
  58. package/dist/esm/sync/types.mjs.map +1 -1
  59. package/dist/esm/sync/types.native.js.map +1 -1
  60. package/dist/jsx/collection.mjs +24 -9
  61. package/dist/jsx/collection.mjs.map +1 -1
  62. package/dist/jsx/collection.native.js +25 -9
  63. package/dist/jsx/collection.native.js.map +1 -1
  64. package/dist/jsx/db.mjs +13 -2
  65. package/dist/jsx/db.mjs.map +1 -1
  66. package/dist/jsx/db.native.js +18 -2
  67. package/dist/jsx/db.native.js.map +1 -1
  68. package/dist/jsx/frappeReact.mjs +11 -4
  69. package/dist/jsx/frappeReact.mjs.map +1 -1
  70. package/dist/jsx/frappeReact.native.js +10 -3
  71. package/dist/jsx/frappeReact.native.js.map +1 -1
  72. package/dist/jsx/index.js +2 -2
  73. package/dist/jsx/index.js.map +1 -1
  74. package/dist/jsx/index.mjs +2 -2
  75. package/dist/jsx/index.mjs.map +1 -1
  76. package/dist/jsx/index.native.js +1 -0
  77. package/dist/jsx/index.native.js.map +1 -1
  78. package/dist/jsx/realtime.mjs +222 -11
  79. package/dist/jsx/realtime.mjs.map +1 -1
  80. package/dist/jsx/realtime.native.js +352 -14
  81. package/dist/jsx/realtime.native.js.map +1 -1
  82. package/dist/jsx/sync/index.mjs +6 -1
  83. package/dist/jsx/sync/index.mjs.map +1 -1
  84. package/dist/jsx/sync/index.native.js +6 -1
  85. package/dist/jsx/sync/index.native.js.map +1 -1
  86. package/dist/jsx/sync/mutationEngine.mjs +43 -19
  87. package/dist/jsx/sync/mutationEngine.mjs.map +1 -1
  88. package/dist/jsx/sync/mutationEngine.native.js +51 -21
  89. package/dist/jsx/sync/mutationEngine.native.js.map +1 -1
  90. package/dist/jsx/sync/subscriptionManager.mjs +4 -0
  91. package/dist/jsx/sync/subscriptionManager.mjs.map +1 -1
  92. package/dist/jsx/sync/subscriptionManager.native.js +4 -0
  93. package/dist/jsx/sync/subscriptionManager.native.js.map +1 -1
  94. package/dist/jsx/sync/types.mjs.map +1 -1
  95. package/dist/jsx/sync/types.native.js.map +1 -1
  96. package/package.json +7 -7
  97. package/src/collection.ts +53 -8
  98. package/src/db.spec.ts +70 -0
  99. package/src/db.ts +28 -2
  100. package/src/frappeReact.spec.ts +7 -1
  101. package/src/frappeReact.ts +30 -6
  102. package/src/frappeReactLiveQueryGc.spec.ts +44 -4
  103. package/src/index.ts +13 -1
  104. package/src/realtime.ts +406 -14
  105. package/src/realtimeSse.spec.ts +547 -0
  106. package/src/sync/index.ts +10 -1
  107. package/src/sync/mutationEngine.ts +81 -20
  108. package/src/sync/optimisticCreateReconcile.spec.ts +372 -0
  109. package/src/sync/subscriptionManager.spec.ts +41 -0
  110. package/src/sync/subscriptionManager.ts +10 -0
  111. package/src/sync/subscriptions.spec.ts +4 -0
  112. package/src/sync/types.ts +9 -0
  113. package/types/collection.d.ts +12 -0
  114. package/types/collection.d.ts.map +1 -1
  115. package/types/db.d.ts.map +1 -1
  116. package/types/frappeReact.d.ts.map +1 -1
  117. package/types/index.d.ts +2 -1
  118. package/types/index.d.ts.map +1 -1
  119. package/types/realtime.d.ts +166 -1
  120. package/types/realtime.d.ts.map +1 -1
  121. package/types/sync/index.d.ts.map +1 -1
  122. package/types/sync/mutationEngine.d.ts.map +1 -1
  123. package/types/sync/subscriptionManager.d.ts.map +1 -1
  124. package/types/sync/types.d.ts +9 -0
  125. package/types/sync/types.d.ts.map +1 -1
@@ -12,11 +12,20 @@ function docRoomKey(doctype, name) {
12
12
  }
13
13
  class RealtimeModule {
14
14
  socket;
15
+ /** Live EventSource when the `"sse"` transport is active. */
16
+ eventSource;
15
17
  handlerMap = /* @__PURE__ */new Map();
16
18
  /** Tracks events with socket listeners attached to prevent duplicates. */
17
19
  attachedSocketEvents = /* @__PURE__ */new Set();
18
20
  /** Stored socket event handler references for proper cleanup. */
19
21
  socketEventHandlers = /* @__PURE__ */new Map();
22
+ /** Tracks SSE event types with listeners attached to prevent duplicates. */
23
+ attachedSseEvents = /* @__PURE__ */new Set();
24
+ /** Stored SSE listener references for proper cleanup. */
25
+ sseListeners = /* @__PURE__ */new Map();
26
+ /** One-shot debug notices for SSE's one-way limitations. */
27
+ sseRoomNoticeLogged = false;
28
+ sseEmitNoticeLogged = false;
20
29
  /** Active doc rooms — re-emitted on every (re)connect. */
21
30
  docRooms = /* @__PURE__ */new Map();
22
31
  /** Active list rooms — re-emitted on every (re)connect. */
@@ -131,8 +140,11 @@ class RealtimeModule {
131
140
  for (const resolve of this.healthyWaiters) resolve(ok);
132
141
  this.healthyWaiters.clear();
133
142
  }
143
+ isSSE() {
144
+ return this.config.transport === "sse";
145
+ }
134
146
  waitUntilHealthy(timeoutMs = 2e4) {
135
- if (this.socketHealthy && this.socket?.connected) return Promise.resolve(true);
147
+ if (this.isHealthy()) return Promise.resolve(true);
136
148
  return new Promise(resolve => {
137
149
  const timer = setTimeout(() => {
138
150
  this.healthyWaiters.delete(onReady);
@@ -146,8 +158,8 @@ class RealtimeModule {
146
158
  });
147
159
  }
148
160
  async ensureConnected() {
149
- if (this.socketHealthy && this.socket?.connected) return;
150
- if (!this.socket && !this.isConnecting) {
161
+ if (this.isHealthy()) return;
162
+ if (!this.socket && !this.eventSource && !this.isConnecting) {
151
163
  await this.connect();
152
164
  }
153
165
  await this.waitUntilHealthy();
@@ -161,7 +173,16 @@ class RealtimeModule {
161
173
  this.socket.emit("doctype_subscribe", room.doctype);
162
174
  }
163
175
  }
176
+ /**
177
+ * Open the realtime transport now. Room-driven auto-connect
178
+ * (subscribeDoc/subscribeList) remains the primary lifecycle in both
179
+ * transports — this is public for SSE consumers that use no doc/list room
180
+ * bookkeeping: a one-way stream has nothing to emit on join, so nothing
181
+ * else would ever open it. Idempotent while a transport exists or a
182
+ * connect is in flight.
183
+ */
164
184
  async connect() {
185
+ if (this.isSSE()) return this.connectSSE();
165
186
  if (this.socket || this.isConnecting) return;
166
187
  this.isConnecting = true;
167
188
  try {
@@ -190,6 +211,153 @@ class RealtimeModule {
190
211
  throw err;
191
212
  }
192
213
  }
214
+ /**
215
+ * SSE branch of connect(): construct an EventSource against the configured
216
+ * stream URL. EventSource connects at construction, auto-reconnects on
217
+ * failure, and resumes missed frames itself by sending the stream's last
218
+ * `id:` as the `Last-Event-ID` request header — none of that is
219
+ * reimplemented here.
220
+ */
221
+ async connectSSE() {
222
+ if (this.eventSource || this.isConnecting) return;
223
+ this.isConnecting = true;
224
+ try {
225
+ const sse = this.config.sse;
226
+ const EventSourceCtor = sse?.EventSource ?? globalThis.EventSource;
227
+ if (!EventSourceCtor) {
228
+ throw new Error('[RealtimeModule] transport "sse" needs an EventSource implementation, and this runtime has no global EventSource (React Native and Node < 22 ship none). Pass a constructor via config.sse.EventSource \u2014 e.g. the "eventsource" npm package on Node or "react-native-sse" on React Native.');
229
+ }
230
+ const url = await this.buildSSEURL();
231
+ this.eventSource = new EventSourceCtor(url, {
232
+ withCredentials: sse?.withCredentials
233
+ });
234
+ this.initSSEHandlers();
235
+ } catch (err) {
236
+ this.isConnecting = false;
237
+ this.resolveHealthyWaiters(false);
238
+ throw err;
239
+ }
240
+ }
241
+ async buildSSEURL() {
242
+ const sse = this.config.sse;
243
+ let url;
244
+ if (sse?.url) {
245
+ url = sse.url;
246
+ } else if (sse?.path) {
247
+ const base = this.config.baseURL.replace(/\/$/, "");
248
+ url = `${base}${sse.path.startsWith("/") ? "" : "/"}${sse.path}`;
249
+ } else {
250
+ throw new Error('[RealtimeModule] transport "sse" requires config.sse.url or config.sse.path. There is no default stream path: SSE endpoints are server-specific (the SHC daemon serves "/api/method/shc.events.stream"; a real Frappe bench has no SSE endpoint at all), so a framework default would only ever 404.');
251
+ }
252
+ const params = Object.entries(this.config.sse?.queryParams ?? {});
253
+ if (params.length === 0) return url;
254
+ const parts = [];
255
+ for (const [key, value] of params) {
256
+ const resolved = typeof value === "function" ? await value() : value;
257
+ parts.push(`${encodeURIComponent(key)}=${encodeURIComponent(resolved)}`);
258
+ }
259
+ return `${url}${url.includes("?") ? "&" : "?"}${parts.join("&")}`;
260
+ }
261
+ initSSEHandlers() {
262
+ this.attachedSseEvents.clear();
263
+ this.sseListeners.clear();
264
+ this.attachSSEListener("open");
265
+ this.attachSSEListener("error");
266
+ this.attachSSEListener("message");
267
+ for (const type of this.config.sse?.events ?? []) {
268
+ this.attachSSEListener(type);
269
+ }
270
+ for (const event of this.handlerMap.keys()) {
271
+ this.attachSSEListener(event);
272
+ }
273
+ }
274
+ attachSSEListener(type) {
275
+ if (!this.eventSource || this.attachedSseEvents.has(type)) return;
276
+ const listener = event => {
277
+ this.handleSSEEvent(type, event);
278
+ };
279
+ this.sseListeners.set(type, listener);
280
+ this.attachedSseEvents.add(type);
281
+ this.eventSource.addEventListener(type, listener);
282
+ }
283
+ detachSSEListener(type) {
284
+ if (this.isCoreSSEType(type)) return;
285
+ if (!this.eventSource || !this.attachedSseEvents.has(type)) return;
286
+ const listener = this.sseListeners.get(type);
287
+ if (listener) {
288
+ this.eventSource.removeEventListener(type, listener);
289
+ this.sseListeners.delete(type);
290
+ }
291
+ this.attachedSseEvents.delete(type);
292
+ }
293
+ isCoreSSEType(type) {
294
+ return type === "open" || type === "error" || type === "message" || (this.config.sse?.events ?? []).includes(type);
295
+ }
296
+ /**
297
+ * Single entry point for everything the EventSource dispatches. Dataless
298
+ * events are transport lifecycle (`open`/`error` as plain Events); anything
299
+ * carrying `data` is a server frame — including frames the server
300
+ * classified `event: error`, which arrive as MessageEvents WITH data and
301
+ * must not be mistaken for connection errors.
302
+ */
303
+ handleSSEEvent(type, event) {
304
+ if (event?.data === void 0) {
305
+ if (type === "open") {
306
+ this.isConnecting = false;
307
+ this.socketHealthy = true;
308
+ this.emitToHandlers("connected", {
309
+ transport: "sse"
310
+ });
311
+ this.resolveHealthyWaiters(true);
312
+ } else if (type === "error") {
313
+ this.isConnecting = false;
314
+ this.socketHealthy = false;
315
+ this.emitToHandlers("disconnect", {
316
+ reason: "sse-error"
317
+ });
318
+ this.resolveHealthyWaiters(false);
319
+ }
320
+ return;
321
+ }
322
+ const frame = {
323
+ type,
324
+ data: String(event.data),
325
+ lastEventId: event.lastEventId ?? ""
326
+ };
327
+ const mapFrame = this.config.sse?.mapFrame;
328
+ if (mapFrame) {
329
+ let mapped;
330
+ try {
331
+ mapped = mapFrame(frame);
332
+ } catch (err) {
333
+ console.warn("[RealtimeModule] sse.mapFrame threw; frame dropped:", err);
334
+ return;
335
+ }
336
+ if (!mapped) return;
337
+ for (const {
338
+ event: mappedEvent,
339
+ payload: payload2
340
+ } of mapped) {
341
+ this.emitToHandlers(mappedEvent, payload2);
342
+ }
343
+ return;
344
+ }
345
+ let payload = frame.data;
346
+ try {
347
+ payload = JSON.parse(frame.data);
348
+ } catch {}
349
+ this.emitToHandlers(frame.type, payload);
350
+ }
351
+ /**
352
+ * Logged once: SSE is one-way, so doc/list room membership can't be sent
353
+ * upstream — rooms are recorded client-side (see getDocRooms/getListRooms)
354
+ * for mapFrame-driven filtering and for a future two-way transport.
355
+ */
356
+ logSSERoomNoticeOnce() {
357
+ if (this.sseRoomNoticeLogged) return;
358
+ this.sseRoomNoticeLogged = true;
359
+ console.debug("[RealtimeModule] SSE transport is one-way: doc/list room subscriptions are recorded client-side only (getDocRooms()/getListRooms()) and nothing is sent to the server \u2014 filter server-side via sse.queryParams or route frames with sse.mapFrame.");
360
+ }
193
361
  /**
194
362
  * Tear down the socket without clearing app handlers or room subscriptions.
195
363
  * Used by auth refresh so listeners/rooms survive credential rotation.
@@ -202,8 +370,17 @@ class RealtimeModule {
202
370
  this.socket.disconnect();
203
371
  this.socket = void 0;
204
372
  }
373
+ if (this.eventSource) {
374
+ for (const [type, listener] of this.sseListeners) {
375
+ this.eventSource.removeEventListener(type, listener);
376
+ }
377
+ this.eventSource.close();
378
+ this.eventSource = void 0;
379
+ }
205
380
  this.attachedSocketEvents.clear();
206
381
  this.socketEventHandlers.clear();
382
+ this.attachedSseEvents.clear();
383
+ this.sseListeners.clear();
207
384
  this.socketHealthy = false;
208
385
  this.isConnecting = false;
209
386
  this.resolveHealthyWaiters(false);
@@ -280,7 +457,11 @@ class RealtimeModule {
280
457
  this.handlerMap.set(event, handlerSet);
281
458
  }
282
459
  handlerSet.add(handler);
283
- this.attachSocketListener(event);
460
+ if (this.isSSE()) {
461
+ this.attachSSEListener(event);
462
+ } else {
463
+ this.attachSocketListener(event);
464
+ }
284
465
  }
285
466
  off(event, handler) {
286
467
  const handlerSet = this.handlerMap.get(event);
@@ -288,7 +469,11 @@ class RealtimeModule {
288
469
  handlerSet.delete(handler);
289
470
  if (handlerSet.size === 0) {
290
471
  this.handlerMap.delete(event);
291
- this.detachSocketListener(event);
472
+ if (this.isSSE()) {
473
+ this.detachSSEListener(event);
474
+ } else {
475
+ this.detachSocketListener(event);
476
+ }
292
477
  }
293
478
  }
294
479
  async subscribeDoc(doctype, name) {
@@ -296,14 +481,15 @@ class RealtimeModule {
296
481
  doctype,
297
482
  name
298
483
  });
484
+ if (this.isSSE()) this.logSSERoomNoticeOnce();
299
485
  await this.ensureConnected();
300
- if (this.socket && this.socketHealthy) {
486
+ if (!this.isSSE() && this.socket && this.socketHealthy) {
301
487
  this.socket.emit("doc_subscribe", doctype, name);
302
488
  }
303
489
  }
304
490
  unsubscribeDoc(doctype, name) {
305
491
  this.docRooms.delete(docRoomKey(doctype, name));
306
- if (this.socket && this.socketHealthy) {
492
+ if (!this.isSSE() && this.socket && this.socketHealthy) {
307
493
  this.socket.emit("doc_unsubscribe", doctype, name);
308
494
  }
309
495
  this.teardownWhenIdle();
@@ -320,14 +506,15 @@ class RealtimeModule {
320
506
  doctype,
321
507
  filters
322
508
  });
509
+ if (this.isSSE()) this.logSSERoomNoticeOnce();
323
510
  await this.ensureConnected();
324
- if (this.socket && this.socketHealthy) {
511
+ if (!this.isSSE() && this.socket && this.socketHealthy) {
325
512
  this.socket.emit("doctype_subscribe", doctype);
326
513
  }
327
514
  }
328
515
  unsubscribeList(doctype) {
329
516
  this.listRooms.delete(doctype);
330
- if (this.socket && this.socketHealthy) {
517
+ if (!this.isSSE() && this.socket && this.socketHealthy) {
331
518
  this.socket.emit("doctype_unsubscribe", doctype);
332
519
  }
333
520
  this.teardownWhenIdle();
@@ -343,13 +530,14 @@ class RealtimeModule {
343
530
  */
344
531
  teardownWhenIdle() {
345
532
  if (this.docRooms.size > 0 || this.listRooms.size > 0) return;
346
- if (!this.socket && !this.isConnecting) return;
533
+ if (!this.socket && !this.eventSource && !this.isConnecting) return;
347
534
  this.emitToHandlers("disconnect", {
348
535
  reason: "idle-teardown"
349
536
  });
350
537
  this.softDisconnect();
351
538
  }
352
539
  isHealthy() {
540
+ if (this.isSSE()) return this.socketHealthy && this.eventSource !== void 0;
353
541
  return this.socketHealthy && this.socket?.connected === true;
354
542
  }
355
543
  disconnect() {
@@ -360,13 +548,20 @@ class RealtimeModule {
360
548
  }
361
549
  async updateAuth(auth) {
362
550
  this.config.auth = auth;
363
- const shouldReconnect = this.docRooms.size > 0 || this.listRooms.size > 0;
551
+ const shouldReconnect = this.docRooms.size > 0 || this.listRooms.size > 0 || this.isSSE() && this.eventSource !== void 0;
364
552
  this.softDisconnect();
365
553
  if (shouldReconnect) {
366
554
  await this.connect();
367
555
  }
368
556
  }
369
557
  emit(event, data) {
558
+ if (this.isSSE()) {
559
+ if (!this.sseEmitNoticeLogged) {
560
+ this.sseEmitNoticeLogged = true;
561
+ console.debug("[RealtimeModule] emit() is a no-op under the SSE transport \u2014 SSE is one-way (server \u2192 client). Use HTTP calls for client \u2192 server communication.");
562
+ }
563
+ return;
564
+ }
370
565
  if (this.socket && this.socketHealthy) {
371
566
  this.socket.emit(event, data);
372
567
  }
@@ -374,6 +569,22 @@ class RealtimeModule {
374
569
  getSocket() {
375
570
  return this.socket;
376
571
  }
572
+ /** Live EventSource when the SSE transport is connected (undefined otherwise). */
573
+ getEventSource() {
574
+ return this.eventSource;
575
+ }
576
+ /**
577
+ * Doc rooms recorded by subscribeDoc. Under SSE these are client-side
578
+ * bookkeeping only (nothing is emitted upstream) — mapFrame-driven apps
579
+ * consult them to filter or route frames.
580
+ */
581
+ getDocRooms() {
582
+ return [...this.docRooms.values()];
583
+ }
584
+ /** List rooms recorded by subscribeList — same client-side semantics as getDocRooms. */
585
+ getListRooms() {
586
+ return [...this.listRooms.values()];
587
+ }
377
588
  }
378
589
  export { RealtimeModule, RealtimePlatform };
379
590
  //# sourceMappingURL=realtime.mjs.map
@@ -1 +1 @@
1
- {"version":3,"names":["isNative","io","isBrowser","isGjs","RealtimePlatform","RealtimePlatform2","docRoomKey","doctype","name","RealtimeModule","socket","handlerMap","Map","attachedSocketEvents","Set","socketEventHandlers","docRooms","listRooms","socketHealthy","isConnecting","healthyWaiters","config","authRefreshInflight","constructor","platform","detectPlatform","navigator","product","userAgent","includes","getSocketURL","base","baseURL","replace","url","URL","port","socketPort","String","host","hostname","siteName","protocol","result","split","getAuthOptions","authOptions","extraHeaders","Origin","origin","auth","sessionId","Cookie","useToken","token","authType","type","Authorization","transportOptions","websocket","polling","refreshSocketAuth","Promise","resolve","manager","opts","Object","assign","resolveHealthyWaiters","ok","clear","waitUntilHealthy","timeoutMs","connected","timer","setTimeout","delete","onReady","clearTimeout","add","ensureConnected","connect","resubscribeRooms","room","values","emit","socketURL","transports","autoConnect","path","randomizationFactor","reconnection","reconnectionAttempts","Number","POSITIVE_INFINITY","reconnectionDelay","reconnectionDelayMax","timeout","withCredentials","socketOptions","initHandlers","err","softDisconnect","removeAllListeners","disconnect","on","emitToHandlers","sid","id","reason","error","event","keys","attachSocketListener","has","handler","payload","set","detachSocketListener","get","off","handlerSet","size","subscribeDoc","unsubscribeDoc","teardownWhenIdle","subscribeList","filters","unsubscribeList","isHealthy","updateAuth","shouldReconnect","data","getSocket"],"sources":["../../src/realtime.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isNative","io","isBrowser","isGjs","RealtimePlatform","RealtimePlatform2","docRoomKey","doctype","name","RealtimeModule","socket","eventSource","handlerMap","Map","attachedSocketEvents","Set","socketEventHandlers","attachedSseEvents","sseListeners","sseRoomNoticeLogged","sseEmitNoticeLogged","docRooms","listRooms","socketHealthy","isConnecting","healthyWaiters","config","authRefreshInflight","constructor","platform","detectPlatform","navigator","product","userAgent","includes","getSocketURL","base","baseURL","replace","url","URL","port","socketPort","String","host","hostname","siteName","protocol","result","split","getAuthOptions","authOptions","extraHeaders","Origin","origin","auth","sessionId","Cookie","useToken","token","authType","type","Authorization","transportOptions","websocket","polling","refreshSocketAuth","Promise","resolve","manager","opts","Object","assign","resolveHealthyWaiters","ok","clear","isSSE","transport","waitUntilHealthy","timeoutMs","isHealthy","timer","setTimeout","delete","onReady","clearTimeout","add","ensureConnected","connect","resubscribeRooms","room","values","emit","connectSSE","socketURL","transports","autoConnect","path","randomizationFactor","reconnection","reconnectionAttempts","Number","POSITIVE_INFINITY","reconnectionDelay","reconnectionDelayMax","timeout","withCredentials","socketOptions","initHandlers","err","sse","EventSourceCtor","EventSource","globalThis","Error","buildSSEURL","initSSEHandlers","startsWith","params","entries","queryParams","length","parts","key","value","resolved","push","encodeURIComponent","join","attachSSEListener","events","event","keys","has","listener","handleSSEEvent","set","addEventListener","detachSSEListener","isCoreSSEType","get","removeEventListener","data","emitToHandlers","reason","frame","lastEventId","mapFrame","mapped","console","warn","mappedEvent","payload","payload2","JSON","parse","logSSERoomNoticeOnce","debug","softDisconnect","removeAllListeners","disconnect","close","on","sid","id","error","attachSocketListener","handler","detachSocketListener","off","handlerSet","size","subscribeDoc","unsubscribeDoc","teardownWhenIdle","subscribeList","filters","unsubscribeList","connected","updateAuth","shouldReconnect","getSocket","getEventSource","getDocRooms","getListRooms"],"sources":["../../src/realtime.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}