@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.
- package/dist/dom/link-interceptor.d.ts +10 -2
- package/dist/dom/link-interceptor.d.ts.map +1 -1
- package/dist/dom/link-interceptor.js +61 -2
- package/dist/dom/link-interceptor.js.map +1 -1
- package/dist/livetemplate-client.browser.js +4 -4
- package/dist/livetemplate-client.browser.js.map +3 -3
- package/dist/livetemplate-client.d.ts +21 -0
- package/dist/livetemplate-client.d.ts.map +1 -1
- package/dist/livetemplate-client.js +282 -49
- package/dist/livetemplate-client.js.map +1 -1
- package/dist/tests/conditional-slot-transition.test.d.ts +15 -0
- package/dist/tests/conditional-slot-transition.test.d.ts.map +1 -0
- package/dist/tests/conditional-slot-transition.test.js +98 -0
- package/dist/tests/conditional-slot-transition.test.js.map +1 -0
- package/dist/tests/navigate.test.d.ts +18 -0
- package/dist/tests/navigate.test.d.ts.map +1 -0
- package/dist/tests/navigate.test.js +211 -0
- package/dist/tests/navigate.test.js.map +1 -0
- package/dist/tests/navigation.test.js +31 -5
- package/dist/tests/navigation.test.js.map +1 -1
- package/dist/tests/preserve.test.d.ts +17 -0
- package/dist/tests/preserve.test.d.ts.map +1 -0
- package/dist/tests/preserve.test.js +193 -0
- package/dist/tests/preserve.test.js.map +1 -0
- package/dist/tests/script-duplication.test.d.ts +15 -0
- package/dist/tests/script-duplication.test.d.ts.map +1 -0
- package/dist/tests/script-duplication.test.js +87 -0
- package/dist/tests/script-duplication.test.js.map +1 -0
- package/package.json +1 -1
|
@@ -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;
|
|
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
|
|
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
|
-
//
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
//
|
|
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
|
-
//
|
|
565
|
-
//
|
|
566
|
-
//
|
|
567
|
-
//
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
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
|
-
|
|
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"}
|