@livetemplate/client 0.8.23 → 0.8.26

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.
@@ -72,6 +72,27 @@ export declare class LiveTemplateClient {
72
72
  * uses setLiveUrl() to update the override without mutating options.
73
73
  */
74
74
  private getLiveUrl;
75
+ /**
76
+ * Send an in-band navigate message over the existing WebSocket.
77
+ *
78
+ * This is the client side of the same-handler SPA navigation flow.
79
+ * Rather than disconnect + reconnect to land a URL change (which is
80
+ * what cross-handler nav does and what the old same-handler path
81
+ * silently skipped), we parse the target URL's query params into a
82
+ * data map and send {action: "__navigate__", data: params}. The
83
+ * server special-cases this action name in its event loop (see
84
+ * livetemplate/mount.go) and re-runs Mount with the new data without
85
+ * tearing down the connection.
86
+ *
87
+ * Equivalent to Phoenix LiveView's live_patch / handle_params:
88
+ * path-level identity for the socket, Mount-level re-projection for
89
+ * query-string changes.
90
+ *
91
+ * @param href - The target URL to navigate to. Only the search params
92
+ * are consumed; the pathname is assumed to match the
93
+ * current page (caller checks same-handler first).
94
+ */
95
+ private sendNavigate;
75
96
  /**
76
97
  * Send action via HTTP POST
77
98
  */
@@ -1 +1 @@
1
- {"version":3,"file":"livetemplate-client.d.ts","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+BH,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EAChB,QAAQ,EAER,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,KAAK,CAAuB;IAGpC,OAAO,CAAC,gBAAgB,CAAmB;IACpC,EAAE,EAAE,SAAS,GAAG,IAAI,CAAQ;IACnC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,aAAa,CAAuB;IAG5C,OAAO,CAAC,mBAAmB,CACX;IAEhB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,aAAa,CAAkB;IAGvC,OAAO,CAAC,YAAY,CAAa;IAMjC,OAAO,CAAC,eAAe,CAAa;IAOpC,OAAO,CAAC,eAAe,CAAuB;gBAElC,OAAO,GAAE,yBAA8B;IAuJnD;;;OAGG;IACH,MAAM,CAAC,QAAQ,IAAI,IAAI;IAiCvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAwE9B;;;OAGG;IACG,OAAO,CAAC,eAAe,GAAE,MAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DvE;;OAEG;IACH,UAAU,IAAI,IAAI;IAyBlB,OAAO,CAAC,iBAAiB;IAYzB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,IAAI,OAAO;IAelB;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IA4BxB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;YACW,QAAQ;IA+BtB;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;YAIpE,mBAAmB;IAmCjC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,wBAAwB;IA2IhC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA2BlB;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY;IAI3C;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM;IAiCjE;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAyJ5E;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,YAAY,IAAI,QAAQ;IAIxB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE,GAAG,IAAI;CAGtC"}
1
+ {"version":3,"file":"livetemplate-client.d.ts","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+BH,OAAO,KAAK,EACV,yBAAyB,EACzB,gBAAgB,EAChB,QAAQ,EAER,YAAY,EACb,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,KAAK,CAAuB;IAGpC,OAAO,CAAC,gBAAgB,CAAmB;IACpC,EAAE,EAAE,SAAS,GAAG,IAAI,CAAQ;IACnC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,aAAa,CAAuB;IAG5C,OAAO,CAAC,mBAAmB,CACX;IAEhB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,eAAe,CAAkB;IAGzC,OAAO,CAAC,aAAa,CAAkB;IAGvC,OAAO,CAAC,YAAY,CAAa;IAMjC,OAAO,CAAC,eAAe,CAAa;IAOpC,OAAO,CAAC,eAAe,CAAuB;gBAElC,OAAO,GAAE,yBAA8B;IA4KnD;;;OAGG;IACH,MAAM,CAAC,QAAQ,IAAI,IAAI;IAiCvB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAwE9B;;;OAGG;IACG,OAAO,CAAC,eAAe,GAAE,MAAwB,GAAG,OAAO,CAAC,IAAI,CAAC;IA8DvE;;OAEG;IACH,UAAU,IAAI,IAAI;IAyBlB,OAAO,CAAC,iBAAiB;IAYzB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;OAEG;IACH,OAAO,IAAI,OAAO;IAelB;;;OAGG;IACH,IAAI,CAAC,OAAO,EAAE,GAAG,GAAG,IAAI;IA4BxB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAIlB;;;;;;;;;;;;;;;;;;;OAmBG;IACH,OAAO,CAAC,YAAY;IA8DpB;;OAEG;YACW,QAAQ;IA+BtB;;;;;;;;;;;OAWG;IACH,iBAAiB,CAAC,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI;YAIpE,mBAAmB;IAmCjC;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,wBAAwB;IAsJhC;;;;OAIG;IACH,OAAO,CAAC,UAAU;IA2BlB;;;;OAIG;IACH,WAAW,CAAC,MAAM,EAAE,QAAQ,GAAG,YAAY;IAI3C;;;;;OAKG;IACH,iBAAiB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,GAAG,MAAM;IAiCjE;;;;;OAKG;IACH,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAkS5E;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAIjC;;;;OAIG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,YAAY,IAAI,QAAQ;IAIxB;;OAEG;IACH,kBAAkB,IAAI,MAAM,EAAE,GAAG,IAAI;CAGtC"}
@@ -73,7 +73,20 @@ class LiveTemplateClient {
73
73
  this.options = {
74
74
  autoReconnect: false, // Disable autoReconnect by default to avoid connection loops
75
75
  reconnectDelay: 1000,
76
- liveUrl: window.location.pathname + window.location.search, // Connect to current page (including query params)
76
+ // liveUrl captures the current page URL (path + search) so the
77
+ // initial WebSocket handshake reaches the server with the same
78
+ // query params Mount saw on the HTTP GET. This is intentional —
79
+ // without the search, the WS-side Mount re-runs with empty data
80
+ // and drifts state from the HTTP render.
81
+ //
82
+ // For *same-handler* SPA navigation (changing query params on
83
+ // the same path), the client does NOT reconnect — instead it
84
+ // sends an in-band {action:"__navigate__", data:<params>} message
85
+ // over the existing WebSocket, and the server re-runs Mount with
86
+ // the new data. See sendNavigate() and handleNavigationResponse()
87
+ // for the SPA path. Cross-handler SPA navigation still does the
88
+ // fetch-and-replaceChildren+reconnect dance.
89
+ liveUrl: window.location.pathname + window.location.search,
77
90
  ...restOptions,
78
91
  };
79
92
  this.treeRenderer = new tree_renderer_1.TreeRenderer(this.logger.child("TreeRenderer"));
@@ -122,6 +135,13 @@ class LiveTemplateClient {
122
135
  this.linkInterceptor = new link_interceptor_1.LinkInterceptor({
123
136
  getWrapperElement: () => this.wrapperElement,
124
137
  handleNavigationResponse: (html) => this.handleNavigationResponse(html),
138
+ sendNavigate: (href) => this.sendNavigate(href),
139
+ // Only take the in-band fast path when the WS is actually OPEN.
140
+ // If WS is CONNECTING or CLOSED, falling through to the normal fetch
141
+ // path is safer: pushState fires after the fetch resolves (not before),
142
+ // so the browser URL never gets ahead of server state.
143
+ canSendNavigate: () => !this.useHTTP &&
144
+ this.webSocketManager.getReadyState() === 1 /* WebSocket.OPEN */,
125
145
  }, this.logger.child("LinkInterceptor"));
126
146
  this.observerManager = new observer_manager_1.ObserverManager({
127
147
  getWrapperElement: () => this.wrapperElement,
@@ -412,6 +432,77 @@ class LiveTemplateClient {
412
432
  getLiveUrl() {
413
433
  return this.liveUrlOverride || this.options.liveUrl || "/live";
414
434
  }
435
+ /**
436
+ * Send an in-band navigate message over the existing WebSocket.
437
+ *
438
+ * This is the client side of the same-handler SPA navigation flow.
439
+ * Rather than disconnect + reconnect to land a URL change (which is
440
+ * what cross-handler nav does and what the old same-handler path
441
+ * silently skipped), we parse the target URL's query params into a
442
+ * data map and send {action: "__navigate__", data: params}. The
443
+ * server special-cases this action name in its event loop (see
444
+ * livetemplate/mount.go) and re-runs Mount with the new data without
445
+ * tearing down the connection.
446
+ *
447
+ * Equivalent to Phoenix LiveView's live_patch / handle_params:
448
+ * path-level identity for the socket, Mount-level re-projection for
449
+ * query-string changes.
450
+ *
451
+ * @param href - The target URL to navigate to. Only the search params
452
+ * are consumed; the pathname is assumed to match the
453
+ * current page (caller checks same-handler first).
454
+ */
455
+ sendNavigate(href) {
456
+ const url = new URL(href, window.location.origin);
457
+ const data = {};
458
+ // Note: duplicate keys (e.g. ?tag=a&tag=b) are last-write-wins here.
459
+ // LiveTemplate routes use scalar string params by convention. Routes
460
+ // that need repeated params should not use sendNavigate directly.
461
+ const seenKeys = new Set();
462
+ url.searchParams.forEach((v, k) => {
463
+ if (seenKeys.has(k)) {
464
+ this.logger.warn("sendNavigate: duplicate query param key — last value wins; server may receive incomplete data", { key: k, href });
465
+ }
466
+ seenKeys.add(k);
467
+ data[k] = v;
468
+ });
469
+ const newLiveUrl = url.pathname + url.search;
470
+ // __navigate__ is a WebSocket-only in-band action — only call send()
471
+ // when the socket is actually OPEN.
472
+ //
473
+ // Note: this.useHTTP is not checked here because sendNavigate() is only
474
+ // reachable when canSendNavigate() returns true (i.e. !this.useHTTP and
475
+ // readyState === 1), enforced by LinkInterceptor. Checking useHTTP or
476
+ // re-checking readyState here would be dead code in the normal call path.
477
+ // The guard below is a defensive fallback for direct callers that bypass
478
+ // canSendNavigate().
479
+ if (this.webSocketManager.getReadyState() !== 1 /* WebSocket.OPEN */) {
480
+ const readyState = this.webSocketManager.getReadyState();
481
+ if (readyState === 3 /* CLOSED */) {
482
+ this.logger.error("sendNavigate: WebSocket is CLOSED and autoReconnect may be disabled; " +
483
+ "navigate message dropped. Reload or re-enable autoReconnect.", { href });
484
+ }
485
+ else {
486
+ // CONNECTING (0) or CLOSING (2). autoReconnect defaults to false.
487
+ if (!this.options.autoReconnect) {
488
+ this.logger.error("sendNavigate: WS not open and autoReconnect is disabled; navigate may be permanently lost", { href, readyState });
489
+ }
490
+ else {
491
+ this.logger.warn("sendNavigate: WS not open; browser URL is ahead of server state until reconnect", { href, readyState });
492
+ }
493
+ }
494
+ return false;
495
+ }
496
+ // Socket is OPEN: commit the URL update and send the navigate message.
497
+ // liveUrlOverride is updated here (not before the guard) so it only
498
+ // advances when the message is actually sent — keeping it consistent
499
+ // with window.location throughout.
500
+ this.liveUrlOverride = newLiveUrl;
501
+ this.webSocketManager.setLiveUrl(newLiveUrl);
502
+ this.logger.debug("sendNavigate", { href, data });
503
+ this.send({ action: "__navigate__", data });
504
+ return true;
505
+ }
415
506
  /**
416
507
  * Send action via HTTP POST
417
508
  */
@@ -506,17 +597,19 @@ class LiveTemplateClient {
506
597
  if (newTitleText) {
507
598
  document.title = newTitleText;
508
599
  }
509
- // Try same-handler wrapper first (same data-lvt-id)
510
- const sameWrapper = oldId
511
- ? doc.querySelector(`[data-lvt-id="${oldId}"]`)
512
- : null;
513
- if (sameWrapper) {
514
- this.wrapperElement.replaceChildren(...Array.from(sameWrapper.childNodes).map((n) => n.cloneNode(true)));
515
- this.eventDelegator.setupEventDelegation();
516
- this.linkInterceptor.setup(this.wrapperElement);
517
- return;
518
- }
519
- // Check for a different handler's wrapper (cross-handler navigation)
600
+ // sameWrapper: the fetched page has the same data-lvt-id as the current
601
+ // wrapper. This means two different paths share the same handler ID.
602
+ // handleNavigationResponse is only reached via LinkInterceptor for
603
+ // cross-pathname navigations (same-pathname links are caught by the fast
604
+ // path before a fetch is issued and handled via sendNavigate directly).
605
+ // For cross-pathname same-ID, a full reconnect is correct: the server
606
+ // must receive the new URL to re-run Mount on the right route. We fall
607
+ // through to the newWrapper block below, which handles both same-ID and
608
+ // different-ID handler switches identically.
609
+ //
610
+ // Same-pathname same-ID navigation (query-param change on the same route)
611
+ // is covered exclusively by LinkInterceptor's fast path and navigate.test.ts.
612
+ // Check for any handler wrapper (same-ID cross-path or different handler)
520
613
  const newWrapper = doc.querySelector("[data-lvt-id]");
521
614
  if (newWrapper) {
522
615
  const newId = newWrapper.getAttribute("data-lvt-id");
@@ -558,45 +651,57 @@ class LiveTemplateClient {
558
651
  // page path and the WebSocket path are always the same. Apps that
559
652
  // need a different WebSocket endpoint should set `wsUrl`, which
560
653
  // takes precedence over `liveUrl` in WebSocketManager.
654
+ //
655
+ // Invariant: link-interceptor.ts calls pushState BEFORE invoking
656
+ // handleNavigationResponse, so window.location here always
657
+ // reflects the final target URL (not the previous one). This is
658
+ // why liveUrlOverride is never stale for cross-pathname navigations
659
+ // even if sendNavigate had previously set it to a same-pathname URL.
561
660
  const newLiveUrl = window.location.pathname + window.location.search;
562
661
  this.liveUrlOverride = newLiveUrl;
563
662
  this.webSocketManager.setLiveUrl(newLiveUrl);
564
- // Reconnect to the new handler. The server sends an initial tree
565
- // that produces the same DOM as the fetched HTML.
566
- //
567
- // Escape the wrapper ID to defend against (pathological) server
568
- // responses with special characters that would break the
569
- // attribute selector. Only `"` and `\` need escaping inside a
570
- // double-quoted attribute value selector (`[attr="..."]`), and
571
- // we prefer a manual escape over CSS.escape() which is not
572
- // available in jsdom test environments.
573
- //
574
- // Epoch semantics: the failure branch is guarded by the epoch
575
- // check to avoid stale reloads. The success branch has no work
576
- // to do there's nothing for handleNavigationResponse to undo
577
- // on success.
578
- //
579
- // Known limitation: if two cross-handler navigations run in rapid
580
- // succession (A then B), A's connect() might still be executing
581
- // its post-await setup (useHTTP assignment, initial state
582
- // rendering, event delegation) when B starts. Because there's
583
- // only one WebSocketManager transport at a time, B's disconnect()
584
- // kills A's in-flight transport, and B's setup happens on the
585
- // wrapper with B's ID. If A's post-await code runs AFTER B sets
586
- // the wrapper ID, A's querySelector lookup would already be
587
- // stale (it captured the wrapper synchronously before the await).
588
- // A true fix requires making connect() itself cancellable with
589
- // an AbortSignal, which is out of scope for this PR. In practice,
590
- // two successive SPA navigations within a single event loop tick
591
- // are rare, and the idempotent setup methods minimize fallout.
592
- const escapedId = newId.replace(/[\\"]/g, "\\$&");
593
- const selector = `[data-lvt-id="${escapedId}"]`;
594
- this.connect(selector).catch((err) => {
595
- if (myEpoch !== this.navigationEpoch)
596
- return;
597
- this.logger.error("Cross-handler reconnect failed:", err);
598
- window.location.reload();
599
- });
663
+ // In HTTP mode there is no persistent WebSocket connection skip
664
+ // connect() so we don't unexpectedly create a WebSocket. The DOM swap
665
+ // and event re-setup above are sufficient for HTTP-mode apps; the next
666
+ // user action will POST via the normal HTTP send path.
667
+ if (!this.useHTTP) {
668
+ // Reconnect to the new handler. The server sends an initial tree
669
+ // that produces the same DOM as the fetched HTML.
670
+ //
671
+ // Escape the wrapper ID to defend against (pathological) server
672
+ // responses with special characters that would break the
673
+ // attribute selector. Only `"` and `\` need escaping inside a
674
+ // double-quoted attribute value selector (`[attr="..."]`), and
675
+ // we prefer a manual escape over CSS.escape() which is not
676
+ // available in jsdom test environments.
677
+ //
678
+ // Epoch semantics: the failure branch is guarded by the epoch
679
+ // check to avoid stale reloads. The success branch has no work
680
+ // to do there's nothing for handleNavigationResponse to undo
681
+ // on success.
682
+ //
683
+ // Known limitation: if two cross-handler navigations run in rapid
684
+ // succession (A then B), A's connect() might still be executing
685
+ // its post-await setup (useHTTP assignment, initial state
686
+ // rendering, event delegation) when B starts. Because there's
687
+ // only one WebSocketManager transport at a time, B's disconnect()
688
+ // kills A's in-flight transport, and B's setup happens on the
689
+ // wrapper with B's ID. If A's post-await code runs AFTER B sets
690
+ // the wrapper ID, A's querySelector lookup would already be
691
+ // stale (it captured the wrapper synchronously before the await).
692
+ // A true fix requires making connect() itself cancellable with
693
+ // an AbortSignal, which is out of scope for this PR. In practice,
694
+ // two successive SPA navigations within a single event loop tick
695
+ // are rare, and the idempotent setup methods minimize fallout.
696
+ const escapedId = newId.replace(/[\\"]/g, "\\$&");
697
+ const selector = `[data-lvt-id="${escapedId}"]`;
698
+ this.connect(selector).catch((err) => {
699
+ if (myEpoch !== this.navigationEpoch)
700
+ return;
701
+ this.logger.error("Cross-handler reconnect failed:", err);
702
+ window.location.reload();
703
+ });
704
+ }
600
705
  return;
601
706
  }
602
707
  // Non-LiveTemplate page — disconnect the old WebSocket (it's pointing
@@ -713,7 +818,57 @@ class LiveTemplateClient {
713
818
  this.logger.debug("[updateDOM] Has <tbody> tag:", result.html.includes("<tbody>"));
714
819
  this.logger.debug("[updateDOM] Has <tr> tag:", result.html.includes("<tr"));
715
820
  }
716
- tempWrapper.innerHTML = result.html;
821
+ // Use DOMParser when the HTML contains <script> tags. Browsers'
822
+ // innerHTML parser handles scripts specially and can create phantom
823
+ // duplicate DOM nodes after the closing tag. DOMParser doesn't have
824
+ // this quirk because it returns a standalone document.
825
+ //
826
+ // Regex /<script[\s>]/i is more precise than a bare "<script" string
827
+ // match: it avoids false positives from words ending in "script" that
828
+ // aren't a tag (e.g. "noscript"), while still matching <script>,
829
+ // <script type="..."> and <SCRIPT> case-insensitively.
830
+ // Note: it can still match <script inside attribute values or HTML
831
+ // comments — a false positive is harmless (DOMParser is always safe;
832
+ // we just pay a small allocation cost for the parse).
833
+ //
834
+ // Wrap with the same tagName as the target element (not a hard-coded
835
+ // <div>) so that DOMParser applies the correct HTML parsing rules.
836
+ // Wrapping <tr>/<td>/<option> content in a <div> can trigger
837
+ // browser re-parenting; using the real container tag avoids that.
838
+ if (/<script[\s>]/i.test(result.html)) {
839
+ // Guard: <body> and <html> cannot be used as wrapper tags for
840
+ // parseFromString — doc.body.firstElementChild would return the
841
+ // first child of body, not the body itself, discarding the wrap.
842
+ // Fall back to <div> for these edge cases; updateDOM is called on
843
+ // the lvt wrapper div in practice, so this branch is defensive.
844
+ const rawTag = element.tagName.toLowerCase();
845
+ const wrapTag = (rawTag === "body" || rawTag === "html") ? "div" : rawTag;
846
+ const parser = new DOMParser();
847
+ const doc = parser.parseFromString(`<${wrapTag}>${result.html}</${wrapTag}>`, "text/html");
848
+ const root = doc.body.firstElementChild;
849
+ if (root) {
850
+ // Array.from snapshots the live NodeList before replaceChildren
851
+ // starts moving nodes, keeping iteration stable.
852
+ //
853
+ // Note: DOMParser still re-parents bare table-cell content (tr/td
854
+ // without surrounding table+tbody) even when wrapTag matches.
855
+ // Slots rendered into table-cell elements with <script> tags are
856
+ // an edge case; a follow-up can add a full-table wrapper for those.
857
+ tempWrapper.replaceChildren(...Array.from(root.childNodes));
858
+ }
859
+ else {
860
+ // root is null when the HTML parser produced no element child for
861
+ // our wrapper tag (e.g. the wrapper was itself re-parented or the
862
+ // fragment is text-only). Fall back to doc.body children — the
863
+ // content is still present there, already parsed by DOMParser
864
+ // without the script-duplication quirk that innerHTML triggers.
865
+ this.logger.warn("[updateDOM] DOMParser: no wrapper root element; using doc.body children");
866
+ tempWrapper.replaceChildren(...Array.from(doc.body.childNodes));
867
+ }
868
+ }
869
+ else {
870
+ tempWrapper.innerHTML = result.html;
871
+ }
717
872
  if (this.logger.isDebugEnabled()) {
718
873
  this.logger.debug("[updateDOM] tempWrapper.innerHTML (first 500 chars):", tempWrapper.innerHTML.substring(0, 500));
719
874
  this.logger.debug("[updateDOM] tempWrapper has <table>:", tempWrapper.innerHTML.includes("<table>"));
@@ -732,6 +887,84 @@ class LiveTemplateClient {
732
887
  }
733
888
  },
734
889
  onBeforeElUpdated: (fromEl, toEl) => {
890
+ // Honour lvt-preserve: the client owns this element's entire
891
+ // subtree and morphdom should never touch any of it.
892
+ // Attributes, content, descendants all stay exactly as the DOM
893
+ // currently has them. Equivalent to Phoenix LiveView's
894
+ // phx-update="ignore" and Turbo's data-turbo-permanent. Useful
895
+ // for third-party widgets (maps, date pickers, charts) that
896
+ // mutate their own DOM, and for scroll containers with
897
+ // JS-managed scrollTop.
898
+ //
899
+ // We check toEl (the incoming server version) rather than fromEl
900
+ // (the current DOM). This gives the server authority: if a later
901
+ // render omits lvt-preserve, morphdom resumes updating the element.
902
+ // Checking fromEl would make the attribute sticky in the DOM
903
+ // forever once applied, preventing the server from ever removing it.
904
+ //
905
+ // For the subtler case of "preserve my *attributes* but still
906
+ // let children update" (e.g. <details open>, <select> with
907
+ // user-selected options), use lvt-preserve-attrs below.
908
+ //
909
+ // Priority: lvt-preserve is checked first and returns early; if
910
+ // toEl has lvt-preserve, lvt-preserve-attrs on the same element
911
+ // is never reached. lvt-preserve wins (full freeze > partial
912
+ // attribute-only freeze).
913
+ if (toEl.nodeType === Node.ELEMENT_NODE &&
914
+ toEl.hasAttribute("lvt-preserve")) {
915
+ return false;
916
+ }
917
+ // Honour lvt-preserve-attrs: the client owns this element's own
918
+ // attributes (e.g. the <details open> state the user toggled),
919
+ // but its children should still be diffed against the new tree.
920
+ // This is the right fit for collapsible pickers where the
921
+ // *container* state is user-managed but the *items* inside are
922
+ // server-authored and must reflect the latest data.
923
+ //
924
+ // Implementation: copy fromEl's attributes that are missing from
925
+ // toEl onto toEl before morphdom runs its attribute diff. This
926
+ // makes morphdom see the user-owned attrs as "already present"
927
+ // in the new version, so it doesn't remove them. Attributes that
928
+ // exist in both fromEl and toEl take toEl's value (server wins
929
+ // over client for attributes the template does control), which
930
+ // preserves the ability to update className etc. on the same
931
+ // element from the server.
932
+ //
933
+ // Limitation: only *missing* attributes from fromEl are copied.
934
+ // If the server's toEl already has e.g. class="card", that value
935
+ // is used — JS-added classes (el.classList.add('open')) are
936
+ // silently overwritten on the next diff. Use lvt-preserve-attrs
937
+ // for attributes the server template does NOT set at all.
938
+ //
939
+ // We check toEl (the incoming server tree), not fromEl (the live
940
+ // DOM), so the server has authority: removing lvt-preserve-attrs
941
+ // from the template takes effect immediately on the next render,
942
+ // consistent with how lvt-preserve works.
943
+ if (toEl.nodeType === Node.ELEMENT_NODE &&
944
+ toEl.hasAttribute("lvt-preserve-attrs") &&
945
+ fromEl.nodeType === Node.ELEMENT_NODE) {
946
+ const fromAttrs = fromEl.attributes;
947
+ const toElement = toEl;
948
+ for (let i = 0; i < fromAttrs.length; i++) {
949
+ const attr = fromAttrs[i];
950
+ // Skip the preserve control attributes themselves so the
951
+ // server can opt elements in/out across renders. If we
952
+ // copied lvt-preserve-attrs back onto toEl, the server
953
+ // could never remove the attribute in a future update.
954
+ if (attr.name === "lvt-preserve" ||
955
+ attr.name === "lvt-preserve-attrs") {
956
+ continue;
957
+ }
958
+ // Use hasAttributeNS / setAttributeNS to preserve namespace
959
+ // info (e.g. xlink:href on SVG elements). For plain HTML
960
+ // attributes namespaceURI is null, so this degrades to the
961
+ // same behaviour as setAttribute.
962
+ if (!toElement.hasAttributeNS(attr.namespaceURI, attr.localName)) {
963
+ toElement.setAttributeNS(attr.namespaceURI, attr.name, attr.value);
964
+ }
965
+ }
966
+ // Fall through to normal diff path so children are still updated.
967
+ }
735
968
  // Skip update entirely for focused form elements to preserve user
736
969
  // input. This also skips attribute updates (class, disabled, aria-*)
737
970
  // and the lvt-updated hook — use data-lvt-force-update to override.
@@ -1 +1 @@
1
- {"version":3,"file":"livetemplate-client.js","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"livetemplate-client.js","sourceRoot":"","sources":["../livetemplate-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Regression test for the conditional-slot structural transition bug.
3
+ *
4
+ * When a template slot transitions from an empty string ("") to a
5
+ * sub-tree with its own statics ({"0":"text","s":["<mark>","</mark>"]}),
6
+ * the rendered HTML must include the statics. Before the fix, the
7
+ * client's tree renderer silently dropped the transition and the DOM
8
+ * never showed the <mark> tag.
9
+ *
10
+ * This test operates at the TreeRenderer level (no morphdom, no
11
+ * WebSocket) to isolate the reconstruction bug from the DOM-patching
12
+ * layer.
13
+ */
14
+ export {};
15
+ //# sourceMappingURL=conditional-slot-transition.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"conditional-slot-transition.test.d.ts","sourceRoot":"","sources":["../../tests/conditional-slot-transition.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG"}