@livetemplate/client 0.8.21 → 0.8.23

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 (38) hide show
  1. package/dist/dom/directives.d.ts +16 -0
  2. package/dist/dom/directives.d.ts.map +1 -1
  3. package/dist/dom/directives.js +56 -6
  4. package/dist/dom/directives.js.map +1 -1
  5. package/dist/dom/event-delegation.d.ts +9 -1
  6. package/dist/dom/event-delegation.d.ts.map +1 -1
  7. package/dist/dom/event-delegation.js +72 -25
  8. package/dist/dom/event-delegation.js.map +1 -1
  9. package/dist/dom/link-interceptor.d.ts +14 -0
  10. package/dist/dom/link-interceptor.d.ts.map +1 -1
  11. package/dist/dom/link-interceptor.js +43 -2
  12. package/dist/dom/link-interceptor.js.map +1 -1
  13. package/dist/dom/observer-manager.d.ts +10 -0
  14. package/dist/dom/observer-manager.d.ts.map +1 -1
  15. package/dist/dom/observer-manager.js +110 -3
  16. package/dist/dom/observer-manager.js.map +1 -1
  17. package/dist/livetemplate-client.browser.js +5 -5
  18. package/dist/livetemplate-client.browser.js.map +3 -3
  19. package/dist/livetemplate-client.d.ts +41 -3
  20. package/dist/livetemplate-client.d.ts.map +1 -1
  21. package/dist/livetemplate-client.js +189 -33
  22. package/dist/livetemplate-client.js.map +1 -1
  23. package/dist/tests/directives.test.js +23 -1
  24. package/dist/tests/directives.test.js.map +1 -1
  25. package/dist/tests/navigation.test.d.ts +2 -0
  26. package/dist/tests/navigation.test.d.ts.map +1 -0
  27. package/dist/tests/navigation.test.js +308 -0
  28. package/dist/tests/navigation.test.js.map +1 -0
  29. package/dist/tests/observer-manager.test.js +152 -4
  30. package/dist/tests/observer-manager.test.js.map +1 -1
  31. package/dist/tests/websocket.test.js +115 -0
  32. package/dist/tests/websocket.test.js.map +1 -1
  33. package/dist/transport/websocket.d.ts +7 -0
  34. package/dist/transport/websocket.d.ts.map +1 -1
  35. package/dist/transport/websocket.js +96 -4
  36. package/dist/transport/websocket.js.map +1 -1
  37. package/livetemplate.css +23 -6
  38. package/package.json +1 -1
@@ -343,6 +343,121 @@ describe("checkWebSocketAvailability", () => {
343
343
  expect(mockConsole.warn).toHaveBeenCalled();
344
344
  });
345
345
  });
346
+ describe("WebSocketManager connect", () => {
347
+ let mockSocket = null;
348
+ let mockFetch;
349
+ let mockLogger;
350
+ beforeEach(() => {
351
+ jest.useFakeTimers();
352
+ mockSocket = null;
353
+ global.WebSocket = jest.fn().mockImplementation((url) => {
354
+ mockSocket = new MockWebSocket(url);
355
+ return mockSocket;
356
+ });
357
+ // checkWebSocketAvailability HEAD request succeeds with WS enabled.
358
+ mockFetch = jest.fn().mockResolvedValue({
359
+ headers: {
360
+ get: (name) => name === "X-LiveTemplate-WebSocket" ? "enabled" : null,
361
+ },
362
+ });
363
+ global.fetch = mockFetch;
364
+ mockLogger = (0, logger_1.createLogger)({
365
+ level: "warn",
366
+ sink: { debug: jest.fn(), info: jest.fn(), warn: jest.fn(), error: jest.fn() },
367
+ });
368
+ });
369
+ afterEach(() => {
370
+ jest.useRealTimers();
371
+ jest.restoreAllMocks();
372
+ });
373
+ const makeManager = (handlers) => new websocket_1.WebSocketManager({
374
+ options: { liveUrl: "/live", wsUrl: "ws://localhost:8080" },
375
+ onConnected: handlers.onConnected || jest.fn(),
376
+ onDisconnected: handlers.onDisconnected || jest.fn(),
377
+ onMessage: handlers.onMessage || jest.fn(),
378
+ onError: handlers.onError,
379
+ logger: mockLogger,
380
+ });
381
+ it("calls onConnected and NOT onDisconnected on successful open", async () => {
382
+ const onConnected = jest.fn();
383
+ const onDisconnected = jest.fn();
384
+ const manager = makeManager({ onConnected, onDisconnected });
385
+ const connectPromise = manager.connect();
386
+ // Flush the HEAD-check microtask so checkWebSocketAvailability resolves
387
+ // and WebSocketTransport.connect() runs.
388
+ await Promise.resolve();
389
+ await Promise.resolve();
390
+ mockSocket.simulateOpen();
391
+ const result = await connectPromise;
392
+ expect(result.usingWebSocket).toBe(true);
393
+ expect(onConnected).toHaveBeenCalledTimes(1);
394
+ expect(onDisconnected).not.toHaveBeenCalled();
395
+ });
396
+ it("does NOT call onDisconnected when socket closes before opening (HTTP fallback)", async () => {
397
+ const onConnected = jest.fn();
398
+ const onDisconnected = jest.fn();
399
+ // Initial HTTP state fetch (after fallback) returns null.
400
+ const mockInitial = jest.fn().mockResolvedValue({
401
+ ok: true,
402
+ json: () => Promise.resolve({ tree: null }),
403
+ });
404
+ // Chain: first call is HEAD check (WS enabled), second is GET initial state.
405
+ mockFetch
406
+ .mockReset()
407
+ .mockResolvedValueOnce({
408
+ headers: {
409
+ get: (name) => name === "X-LiveTemplate-WebSocket" ? "enabled" : null,
410
+ },
411
+ })
412
+ .mockImplementationOnce(mockInitial);
413
+ const manager = makeManager({ onConnected, onDisconnected });
414
+ const connectPromise = manager.connect();
415
+ await Promise.resolve();
416
+ await Promise.resolve();
417
+ // Socket closes BEFORE onOpen fires — spurious-disconnected scenario.
418
+ mockSocket.simulateClose();
419
+ // Let the rejection propagate, the catch block run, and fetchInitialState resolve.
420
+ await Promise.resolve();
421
+ await Promise.resolve();
422
+ await Promise.resolve();
423
+ const result = await connectPromise;
424
+ expect(result.usingWebSocket).toBe(false);
425
+ expect(onConnected).not.toHaveBeenCalled();
426
+ // Critical: we never connected, so we must NOT signal "disconnected"
427
+ // to downstream — that would falsely flip UI state.
428
+ expect(onDisconnected).not.toHaveBeenCalled();
429
+ });
430
+ it("does NOT call onDisconnected on the 10s open-timeout path", async () => {
431
+ const onConnected = jest.fn();
432
+ const onDisconnected = jest.fn();
433
+ mockFetch
434
+ .mockReset()
435
+ .mockResolvedValueOnce({
436
+ headers: {
437
+ get: (name) => name === "X-LiveTemplate-WebSocket" ? "enabled" : null,
438
+ },
439
+ })
440
+ .mockResolvedValueOnce({
441
+ ok: true,
442
+ json: () => Promise.resolve({ tree: null }),
443
+ });
444
+ const manager = makeManager({ onConnected, onDisconnected });
445
+ const connectPromise = manager.connect();
446
+ await Promise.resolve();
447
+ await Promise.resolve();
448
+ // No onOpen/onClose/onError — simulate a silent middlebox drop.
449
+ jest.advanceTimersByTime(10001);
450
+ await Promise.resolve();
451
+ await Promise.resolve();
452
+ await Promise.resolve();
453
+ const result = await connectPromise;
454
+ expect(result.usingWebSocket).toBe(false);
455
+ expect(onConnected).not.toHaveBeenCalled();
456
+ // Even though the catch block calls transport.disconnect() (which triggers
457
+ // onClose), the hasConnected gate prevents a spurious onDisconnected.
458
+ expect(onDisconnected).not.toHaveBeenCalled();
459
+ });
460
+ });
346
461
  describe("fetchInitialState", () => {
347
462
  let mockFetch;
348
463
  let mockLogger;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.test.js","sourceRoot":"","sources":["../../tests/websocket.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.test.js","sourceRoot":"","sources":["../../tests/websocket.test.ts"],"names":[],"mappings":";;AAAA,sDAKgC;AAChC,4CAA+C;AAE/C,iBAAiB;AACjB,MAAM,aAAa;IAejB,YAAY,GAAW;QARvB,eAAU,GAAW,aAAa,CAAC,UAAU,CAAC;QAC9C,WAAM,GAAoC,IAAI,CAAC;QAC/C,cAAS,GAA2C,IAAI,CAAC;QACzD,YAAO,GAAyC,IAAI,CAAC;QACrD,YAAO,GAAoC,IAAI,CAAC;QAExC,iBAAY,GAAa,EAAE,CAAC;QAGlC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,IAAI,CAAC,IAAY;QACf,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAgB,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED,eAAe;IACf,YAAY;QACV,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,eAAe,CAAC,IAAY;QAC1B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAkB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED,aAAa,CAAC,IAAI,GAAG,IAAI,EAAE,MAAM,GAAG,gBAAgB;QAClD,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC;QACvC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAgB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,aAAa;QACX,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;;AA1DM,wBAAU,GAAG,CAAC,AAAJ,CAAK;AACf,kBAAI,GAAG,CAAC,AAAJ,CAAK;AACT,qBAAO,GAAG,CAAC,AAAJ,CAAK;AACZ,oBAAM,GAAG,CAAC,AAAJ,CAAK;AA0DpB,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,IAAI,SAA6B,CAAC;IAClC,IAAI,UAAU,GAAyB,IAAI,CAAC;IAE5C,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACpB,MAAc,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,EAAE;YACvE,UAAU,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,SAAS,EAAE,UAAU,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,SAAS,GAAG,IAAI,8BAAkB,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACnE,SAAS,CAAC,OAAO,EAAE,CAAC;YAEpB,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YAClC,MAAM,CAAC,UAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,GAAG,EAAE;YACrD,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACzB,SAAS,GAAG,IAAI,8BAAkB,CAAC;gBACjC,GAAG,EAAE,qBAAqB;gBAC1B,MAAM;aACP,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAE3B,MAAM,CAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;YACxD,MAAM,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAC5B,SAAS,GAAG,IAAI,8BAAkB,CAAC;gBACjC,GAAG,EAAE,qBAAqB;gBAC1B,SAAS;aACV,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAC3B,UAAW,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;YAEjD,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CACpC,MAAM,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,CACvD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAC1B,SAAS,GAAG,IAAI,8BAAkB,CAAC;gBACjC,GAAG,EAAE,qBAAqB;gBAC1B,OAAO;aACR,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAC3B,UAAW,CAAC,aAAa,EAAE,CAAC;YAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;YACzC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YAC1B,SAAS,GAAG,IAAI,8BAAkB,CAAC;gBACjC,GAAG,EAAE,qBAAqB;gBAC1B,OAAO;aACR,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,aAAa,EAAE,CAAC;YAE5B,MAAM,CAAC,OAAO,CAAC,CAAC,gBAAgB,EAAE,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE;QACpB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,SAAS,GAAG,IAAI,8BAAkB,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACnE,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAE3B,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEpC,MAAM,CAAC,UAAW,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,SAAS,GAAG,IAAI,8BAAkB,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACnE,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,uCAAuC;YAEvC,SAAS,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAEpC,MAAM,CAAC,UAAW,CAAC,eAAe,EAAE,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;YAC3B,SAAS,GAAG,IAAI,8BAAkB,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACnE,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAE3B,SAAS,CAAC,UAAU,EAAE,CAAC;YAEvB,MAAM,CAAC,UAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,GAAG,IAAI,8BAAkB,CAAC;gBACjC,GAAG,EAAE,qBAAqB;gBAC1B,aAAa,EAAE,IAAI;gBACnB,kBAAkB;aACnB,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAC3B,SAAS,CAAC,UAAU,EAAE,CAAC;YAEvB,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAEhC,MAAM,CAAC,kBAAkB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;YACjE,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,GAAG,IAAI,8BAAkB,CAAC;gBACjC,GAAG,EAAE,qBAAqB;gBAC1B,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,IAAI;gBACpB,kBAAkB;aACnB,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAC3B,UAAW,CAAC,aAAa,EAAE,CAAC;YAE5B,6CAA6C;YAC7C,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE/B,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QACzE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;YAClC,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,GAAG,IAAI,8BAAkB,CAAC;gBACjC,GAAG,EAAE,qBAAqB;gBAC1B,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,IAAI;gBACpB,iBAAiB,EAAE,MAAM,EAAE,yBAAyB;gBACpD,oBAAoB,EAAE,CAAC,EAAE,YAAY;gBACrC,kBAAkB;aACnB,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAE3B,mBAAmB;YACnB,UAAW,CAAC,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,oBAAoB;YACpB,UAAW,CAAC,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAEpD,mBAAmB;YACnB,UAAW,CAAC,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,kBAAkB,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,GAAG,EAAE;YAC5D,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,GAAG,IAAI,8BAAkB,CAAC;gBACjC,GAAG,EAAE,qBAAqB;gBAC1B,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,IAAI;gBACpB,oBAAoB,EAAE,CAAC;gBACvB,kBAAkB;aACnB,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAC3B,UAAW,CAAC,aAAa,EAAE,CAAC;YAE5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/B,MAAM,CAAC,kBAAkB,CAAC,CAAC,oBAAoB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;YAEvE,gCAAgC;YAChC,UAAW,CAAC,YAAY,EAAE,CAAC;YAC3B,UAAW,CAAC,aAAa,EAAE,CAAC;YAE5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC/B,mCAAmC;YACnC,MAAM,CAAC,kBAAkB,CAAC,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC5C,MAAM,iBAAiB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACpC,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,GAAG,IAAI,8BAAkB,CAAC;gBACjC,GAAG,EAAE,qBAAqB;gBAC1B,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,GAAG;gBACnB,iBAAiB,EAAE,IAAI;gBACvB,oBAAoB,EAAE,CAAC;gBACvB,kBAAkB;gBAClB,iBAAiB;aAClB,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAE3B,+BAA+B;YAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,UAAW,CAAC,aAAa,EAAE,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC;YAED,2CAA2C;YAC3C,UAAW,CAAC,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAE/B,MAAM,CAAC,iBAAiB,CAAC,CAAC,gBAAgB,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,kBAAkB,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;YACrC,SAAS,GAAG,IAAI,8BAAkB,CAAC;gBACjC,GAAG,EAAE,qBAAqB;gBAC1B,aAAa,EAAE,IAAI;gBACnB,cAAc,EAAE,IAAI;gBACpB,iBAAiB,EAAE,IAAI;gBACvB,oBAAoB,EAAE,CAAC;gBACvB,kBAAkB;aACnB,CAAC,CAAC;YAEH,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,UAAW,CAAC,YAAY,EAAE,CAAC;YAE3B,sDAAsD;YACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,UAAW,CAAC,aAAa,EAAE,CAAC;gBAC5B,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC;YAED,4DAA4D;YAC5D,MAAM,MAAM,GAAG,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACvB,MAAM,CAAC,KAAK,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,wCAAwC;YACnF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;QACzB,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,SAAS,GAAG,IAAI,8BAAkB,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACnE,SAAS,CAAC,OAAO,EAAE,CAAC;YAEpB,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,SAAS,GAAG,IAAI,8BAAkB,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACnE,SAAS,CAAC,OAAO,EAAE,CAAC;YACpB,SAAS,CAAC,UAAU,EAAE,CAAC;YAEvB,MAAM,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;IACpC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,mDAAmD;QACnD,4CAA4C;QAC5C,6DAA6D;QAE7D,oBAAoB;QACpB,MAAM,CAAC,MAAM,GAAG,uBAAuB,CAAC,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QAE3E,uBAAuB;QACvB,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7C,uBAAuB;QACvB,MAAM,CAAC,SAAS,GAAG,0BAA0B,CAAC,CAAC,IAAI,CACjD,iCAAiC,CAClC,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,4BAA4B,EAAE,GAAG,EAAE;IAC1C,IAAI,SAAoB,CAAC;IACzB,IAAI,UAA2C,CAAC;IAChD,IAAI,WAAgC,CAAC;IAErC,UAAU,CAAC,GAAG,EAAE;QACd,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrB,MAAc,CAAC,KAAK,GAAG,SAAS,CAAC;QAClC,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;QAClC,UAAU,GAAG,IAAA,qBAAY,EAAC;YACxB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,WAAiC;SACxC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,SAAS,CAAC,iBAAiB,CAAC;YAC1B,OAAO,EAAE;gBACP,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE,CACpB,IAAI,KAAK,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;aACzD;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,sCAA0B,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAErE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;QAC9E,SAAS,CAAC,iBAAiB,CAAC;YAC1B,OAAO,EAAE;gBACP,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE,CACpB,IAAI,KAAK,0BAA0B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;aAC1D;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,sCAA0B,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAErE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,SAAS,CAAC,iBAAiB,CAAC;YAC1B,OAAO,EAAE;gBACP,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI;aAChB;SACF,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,sCAA0B,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAErE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,SAAS,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,MAAM,IAAA,sCAA0B,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAErE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;IACxC,IAAI,UAAU,GAAyB,IAAI,CAAC;IAC5C,IAAI,SAAoB,CAAC;IACzB,IAAI,UAA2C,CAAC;IAEhD,UAAU,CAAC,GAAG,EAAE;QACd,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,UAAU,GAAG,IAAI,CAAC;QACjB,MAAc,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,GAAW,EAAE,EAAE;YACvE,UAAU,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;YACpC,OAAO,UAAU,CAAC;QACpB,CAAC,CAAC,CAAC;QACH,oEAAoE;QACpE,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YACtC,OAAO,EAAE;gBACP,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE,CACpB,IAAI,KAAK,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;aACzD;SACF,CAAC,CAAC;QACF,MAAc,CAAC,KAAK,GAAG,SAAS,CAAC;QAClC,UAAU,GAAG,IAAA,qBAAY,EAAC;YACxB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,EAAE,EAAwB;SACrG,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,CAAC,QAKpB,EAAE,EAAE,CACH,IAAI,4BAAgB,CAAC;QACnB,OAAO,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,qBAAqB,EAAS;QAClE,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,IAAI,CAAC,EAAE,EAAE;QAC9C,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,IAAI,CAAC,EAAE,EAAE;QACpD,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC,EAAE,EAAE;QAC1C,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,MAAM,EAAE,UAAU;KACnB,CAAC,CAAC;IAEL,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;QAE7D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACzC,wEAAwE;QACxE,yCAAyC;QACzC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,UAAW,CAAC,YAAY,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,CAAC,WAAW,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;QAC7C,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACjC,0DAA0D;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC;YAC9C,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SAC5C,CAAC,CAAC;QACH,6EAA6E;QAC7E,SAAS;aACN,SAAS,EAAE;aACX,qBAAqB,CAAC;YACrB,OAAO,EAAE;gBACP,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE,CACpB,IAAI,KAAK,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;aACzD;SACF,CAAC;aACD,sBAAsB,CAAC,WAAW,CAAC,CAAC;QAEvC,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;QAE7D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,sEAAsE;QACtE,UAAW,CAAC,aAAa,EAAE,CAAC;QAC5B,mFAAmF;QACnF,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3C,qEAAqE;QACrE,oDAAoD;QACpD,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,WAAW,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QAC9B,MAAM,cAAc,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACjC,SAAS;aACN,SAAS,EAAE;aACX,qBAAqB,CAAC;YACrB,OAAO,EAAE;gBACP,GAAG,EAAE,CAAC,IAAY,EAAE,EAAE,CACpB,IAAI,KAAK,0BAA0B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;aACzD;SACF,CAAC;aACD,qBAAqB,CAAC;YACrB,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;SAC5C,CAAC,CAAC;QAEL,MAAM,OAAO,GAAG,WAAW,CAAC,EAAE,WAAW,EAAE,cAAc,EAAE,CAAC,CAAC;QAE7D,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;QACzC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAExB,gEAAgE;QAChE,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAEpC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1C,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;QAC3C,2EAA2E;QAC3E,sEAAsE;QACtE,MAAM,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,IAAI,SAAoB,CAAC;IACzB,IAAI,UAA2C,CAAC;IAChD,IAAI,WAAgC,CAAC;IAErC,UAAU,CAAC,GAAG,EAAE;QACd,SAAS,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;QACrB,MAAc,CAAC,KAAK,GAAG,SAAS,CAAC;QAClC,WAAW,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC;QAClC,UAAU,GAAG,IAAA,qBAAY,EAAC;YACxB,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,WAAiC;SACxC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,eAAe,EAAE,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,SAAS,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC;QACvD,SAAS,CAAC,iBAAiB,CAAC;YAC1B,EAAE,EAAE,IAAI;YACR,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC;SACvC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAiB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,OAAO,EAAE;YAC9C,MAAM,EAAE,KAAK;YACb,WAAW,EAAE,SAAS;YACtB,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE;SACxC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,SAAS,CAAC,iBAAiB,CAAC;YAC1B,EAAE,EAAE,KAAK;YACT,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAiB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,SAAS,CAAC,iBAAiB,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;QAExD,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAiB,EAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAE5D,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC1B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -48,7 +48,14 @@ export interface WebSocketConnectResult {
48
48
  export declare class WebSocketManager {
49
49
  private readonly config;
50
50
  private transport;
51
+ private liveUrlOverride;
51
52
  constructor(config: WebSocketManagerConfig);
53
+ /**
54
+ * Update the live URL used for WebSocket reconnection. Called by the
55
+ * client on cross-handler navigation so the next connect() uses the
56
+ * new page path without mutating the shared options object.
57
+ */
58
+ setLiveUrl(liveUrl: string): void;
52
59
  connect(): Promise<WebSocketConnectResult>;
53
60
  disconnect(): void;
54
61
  send(data: string): void;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../transport/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.d.ts","sourceRoot":"","sources":["../../transport/websocket.ts"],"names":[],"mappings":"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"}
@@ -88,6 +88,18 @@ class WebSocketManager {
88
88
  constructor(config) {
89
89
  this.config = config;
90
90
  this.transport = null;
91
+ // Optional override for liveUrl, set by the client on cross-handler
92
+ // navigation. When set, takes precedence over options.liveUrl. This
93
+ // avoids mutating the caller-provided options object.
94
+ this.liveUrlOverride = null;
95
+ }
96
+ /**
97
+ * Update the live URL used for WebSocket reconnection. Called by the
98
+ * client on cross-handler navigation so the next connect() uses the
99
+ * new page path without mutating the shared options object.
100
+ */
101
+ setLiveUrl(liveUrl) {
102
+ this.liveUrlOverride = liveUrl;
91
103
  }
92
104
  async connect() {
93
105
  const liveUrl = this.getLiveUrl();
@@ -96,6 +108,48 @@ class WebSocketManager {
96
108
  const initialState = await fetchInitialState(liveUrl, this.config.logger);
97
109
  return { usingWebSocket: false, initialState };
98
110
  }
111
+ // Await onopen before resolving, so downstream setup runs with a ready
112
+ // transport. Without this, observer callbacks during CONNECTING fall
113
+ // back to HTTP, which hits a separate server state path than the WS
114
+ // event loop — producing stale/desynced responses.
115
+ //
116
+ // Three settle paths: onOpen (success), onClose/onError (immediate
117
+ // failure), and a 10s timeout (silent network drop — TCP may never
118
+ // surface a close/error event through a misbehaving middlebox).
119
+ let resolveOpen;
120
+ let rejectOpen;
121
+ const openPromise = new Promise((resolve, reject) => {
122
+ resolveOpen = resolve;
123
+ rejectOpen = reject;
124
+ });
125
+ let settled = false;
126
+ // Tracks whether onOpen ever fired. Gates onDisconnected so we don't
127
+ // fire a spurious "disconnected" notification on the HTTP fallback
128
+ // path where the socket closed before it ever opened (either
129
+ // naturally via onClose/onError, or because the catch block
130
+ // explicitly disconnects the transport after the 10s timeout).
131
+ let hasConnected = false;
132
+ // Declared before settleOpen to avoid a temporal dead zone on the
133
+ // closure reference — settleOpen is called from onOpen/onClose/onError
134
+ // (all async, so safe today), but declaring the binding up front lets
135
+ // any future synchronous call path still work without a ReferenceError.
136
+ let openTimeoutId = null;
137
+ const settleOpen = (err) => {
138
+ if (settled)
139
+ return;
140
+ settled = true;
141
+ if (openTimeoutId !== null) {
142
+ clearTimeout(openTimeoutId);
143
+ openTimeoutId = null;
144
+ }
145
+ if (err)
146
+ rejectOpen(err);
147
+ else
148
+ resolveOpen({ usingWebSocket: true });
149
+ };
150
+ openTimeoutId = setTimeout(() => {
151
+ settleOpen(new Error("WebSocket open timed out after 10s"));
152
+ }, 10000);
99
153
  this.transport = new WebSocketTransport({
100
154
  url: this.getWebSocketUrl(),
101
155
  autoReconnect: this.config.options.autoReconnect,
@@ -103,7 +157,9 @@ class WebSocketManager {
103
157
  maxReconnectDelay: 16000, // 16 seconds maximum
104
158
  maxReconnectAttempts: 10, // 10 attempts before giving up
105
159
  onOpen: () => {
160
+ hasConnected = true;
106
161
  this.config.onConnected();
162
+ settleOpen();
107
163
  },
108
164
  onMessage: (event) => {
109
165
  try {
@@ -115,7 +171,20 @@ class WebSocketManager {
115
171
  }
116
172
  },
117
173
  onClose: () => {
118
- this.config.onDisconnected();
174
+ // Branch on whether we'd actually connected:
175
+ // - Success path (onOpen fired): notify client of disconnection
176
+ // via onDisconnected(). Do NOT call settleOpen — it's already
177
+ // resolved, and we'd needlessly construct an Error object
178
+ // that shows up in any log/trace capturing rejection reasons.
179
+ // - Failure path (close before open): reject the openPromise
180
+ // with a descriptive Error. onDisconnected is NOT fired
181
+ // because we were never "connected" from the client's POV.
182
+ if (hasConnected) {
183
+ this.config.onDisconnected();
184
+ }
185
+ else {
186
+ settleOpen(new Error("WebSocket closed before it opened"));
187
+ }
119
188
  },
120
189
  onReconnectAttempt: (attempt, delay) => {
121
190
  this.config.onReconnectAttempt?.(attempt, delay);
@@ -125,10 +194,31 @@ class WebSocketManager {
125
194
  },
126
195
  onError: (event) => {
127
196
  this.config.onError?.(event);
197
+ // If we're already connected, onDisconnected is fired via the
198
+ // subsequent onClose — per WHATWG WebSocket spec, onclose always
199
+ // fires after onerror when the connection is lost post-open.
200
+ // We rely on that invariant here rather than double-firing
201
+ // onDisconnected (which would require tracking a separate
202
+ // "already disconnected" flag).
203
+ //
204
+ // If we're NOT yet connected, this rejects openPromise so the
205
+ // catch block falls back to HTTP. settleOpen is a no-op post-open.
206
+ settleOpen(new Error("WebSocket errored before it opened"));
128
207
  },
129
208
  });
130
209
  this.transport.connect();
131
- return { usingWebSocket: true };
210
+ try {
211
+ return await openPromise;
212
+ }
213
+ catch (err) {
214
+ this.config.logger.warn("WebSocket open failed, falling back to HTTP", err);
215
+ // Stop the transport so a late onOpen or auto-reconnect doesn't fire
216
+ // against a client that has already committed to HTTP mode.
217
+ this.transport?.disconnect();
218
+ this.transport = null;
219
+ const initialState = await fetchInitialState(liveUrl, this.config.logger);
220
+ return { usingWebSocket: false, initialState };
221
+ }
132
222
  }
133
223
  disconnect() {
134
224
  this.transport?.disconnect();
@@ -144,7 +234,7 @@ class WebSocketManager {
144
234
  return this.transport?.getSocket() ?? null;
145
235
  }
146
236
  getWebSocketUrl() {
147
- const liveUrl = this.config.options.liveUrl || "/live";
237
+ const liveUrl = this.liveUrlOverride || this.config.options.liveUrl || "/live";
148
238
  const baseUrl = this.config.options.wsUrl;
149
239
  if (baseUrl) {
150
240
  return baseUrl;
@@ -153,7 +243,9 @@ class WebSocketManager {
153
243
  return `${wsScheme}//${window.location.host}${liveUrl}`;
154
244
  }
155
245
  getLiveUrl() {
156
- return this.config.options.liveUrl || window.location.pathname + window.location.search;
246
+ return (this.liveUrlOverride ||
247
+ this.config.options.liveUrl ||
248
+ window.location.pathname + window.location.search);
157
249
  }
158
250
  }
159
251
  exports.WebSocketManager = WebSocketManager;
@@ -1 +1 @@
1
- {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../transport/websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"websocket.js","sourceRoot":"","sources":["../../transport/websocket.ts"],"names":[],"mappings":"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"}
package/livetemplate.css CHANGED
@@ -4,10 +4,15 @@
4
4
  * These custom properties configure lvt-fx:* directives.
5
5
  * Override them in your own stylesheets to customize behavior.
6
6
  *
7
+ * Duration values should include the "ms" unit so the variable remains
8
+ * a valid CSS time value and can be used directly in animation/transition
9
+ * properties. The directives parse these with parseInt which strips the
10
+ * unit, so both forms work, but "500ms" is the recommended form.
11
+ *
7
12
  * Usage:
8
- * [lvt-fx\:scroll] { --lvt-scroll-behavior: smooth; }
9
- * [lvt-fx\:highlight] { --lvt-highlight-color: yellow; --lvt-highlight-duration: 1000; }
10
- * [lvt-fx\:animate] { --lvt-animate-duration: 500; }
13
+ * [lvt-fx\:scroll] { --lvt-scroll-behavior: smooth; }
14
+ * [lvt-fx\:highlight] { --lvt-highlight-color: yellow; --lvt-highlight-duration: 1000ms; }
15
+ * [lvt-fx\:animate] { --lvt-animate-duration: 500ms; }
11
16
  */
12
17
 
13
18
  :root {
@@ -16,11 +21,23 @@
16
21
  --lvt-scroll-threshold: 100;
17
22
 
18
23
  /* Highlight directive defaults */
19
- --lvt-highlight-duration: 500;
24
+ --lvt-highlight-duration: 500ms;
20
25
  --lvt-highlight-color: #ffc107;
21
26
 
22
- /* Animate directive defaults */
23
- --lvt-animate-duration: 300;
27
+ /* Animate directive defaults — includes unit so the var can be used
28
+ directly in CSS animation/transition properties. The TS directive
29
+ reads it with parseInt() which strips the unit, so the shorthand
30
+ construction still works. */
31
+ --lvt-animate-duration: 500ms;
32
+ }
33
+
34
+ /* Flash messages from {{.lvt.FlashTag "key"}} render as <output data-flash>.
35
+ Pico defaults <output> to inline with no spacing; give it breathing room
36
+ from preceding form controls. */
37
+ output[data-flash] {
38
+ display: block;
39
+ margin-top: 1rem;
40
+ padding: 0.5rem 0;
24
41
  }
25
42
 
26
43
  /* === Layout === */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livetemplate/client",
3
- "version": "0.8.21",
3
+ "version": "0.8.23",
4
4
  "description": "TypeScript client for LiveTemplate tree-based updates",
5
5
  "main": "dist/livetemplate-client.js",
6
6
  "browser": "dist/livetemplate-client.browser.js",