From aa1d60e3b89192e7308c455ede45a349e0d13b57 Mon Sep 17 00:00:00 2001 From: Waldemar Pankratz <21173835+waldemar-p@users.noreply.github.com> Date: Fri, 19 Sep 2025 12:14:19 +0200 Subject: [PATCH 1/5] fix: on missing LivePreview $token/$item skip the LivePreview handling This can occur as in issue http://github.com/statamic/cms/issues/11912 listed and aims to fix that behavior --- src/Tokens/Handlers/LivePreview.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Tokens/Handlers/LivePreview.php b/src/Tokens/Handlers/LivePreview.php index 9f4e8e3de2c..262596ecec0 100644 --- a/src/Tokens/Handlers/LivePreview.php +++ b/src/Tokens/Handlers/LivePreview.php @@ -15,10 +15,12 @@ public function handle(Token $token, $request, Closure $next) { $item = Facade::item($token); - $item->repository()->substitute($item); - $response = $next($request); + if (!$item) return $response; + + $item->repository()->substitute($item); + if (Sites::multiEnabled()) { /** @var Collection */ $siteURLs = Sites::all() From 9a7ecb716ef799a21836eaa768f0f1e40b378f82 Mon Sep 17 00:00:00 2001 From: Waldemar Pankratz <21173835+waldemar-p@users.noreply.github.com> Date: Fri, 19 Sep 2025 12:19:08 +0200 Subject: [PATCH 2/5] lint: add brackets --- src/Tokens/Handlers/LivePreview.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Tokens/Handlers/LivePreview.php b/src/Tokens/Handlers/LivePreview.php index 262596ecec0..9ea4f1a633f 100644 --- a/src/Tokens/Handlers/LivePreview.php +++ b/src/Tokens/Handlers/LivePreview.php @@ -17,7 +17,9 @@ public function handle(Token $token, $request, Closure $next) $response = $next($request); - if (!$item) return $response; + if (!$item) { + return $response; + } $item->repository()->substitute($item); From bcc5996418d03ea14cc9d0684cf8d8943ee58c9e Mon Sep 17 00:00:00 2001 From: Waldemar Pankratz <21173835+waldemar-p@users.noreply.github.com> Date: Fri, 19 Sep 2025 12:27:29 +0200 Subject: [PATCH 3/5] lint: space between ! and variable --- src/Tokens/Handlers/LivePreview.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tokens/Handlers/LivePreview.php b/src/Tokens/Handlers/LivePreview.php index 9ea4f1a633f..6a77d832b5c 100644 --- a/src/Tokens/Handlers/LivePreview.php +++ b/src/Tokens/Handlers/LivePreview.php @@ -17,7 +17,7 @@ public function handle(Token $token, $request, Closure $next) $response = $next($request); - if (!$item) { + if (! $item) { return $response; } From 26e0ee8a60932c596c3bec162f670fe45818771b Mon Sep 17 00:00:00 2001 From: Waldemar Pankratz <21173835+waldemar-p@users.noreply.github.com> Date: Mon, 29 Sep 2025 20:04:16 +0200 Subject: [PATCH 4/5] Update LivePreview.php fix: order is important --- src/Tokens/Handlers/LivePreview.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Tokens/Handlers/LivePreview.php b/src/Tokens/Handlers/LivePreview.php index 6a77d832b5c..ee9f8bc6c06 100644 --- a/src/Tokens/Handlers/LivePreview.php +++ b/src/Tokens/Handlers/LivePreview.php @@ -14,15 +14,15 @@ class LivePreview public function handle(Token $token, $request, Closure $next) { $item = Facade::item($token); - - $response = $next($request); - + if (! $item) { - return $response; + return $next($request); } $item->repository()->substitute($item); + $response = $next($request); + if (Sites::multiEnabled()) { /** @var Collection */ $siteURLs = Sites::all() From 2f5d07df890be2dcc4c088c4bfa046a8b763e584 Mon Sep 17 00:00:00 2001 From: Waldemar Pankratz <21173835+waldemar-p@users.noreply.github.com> Date: Mon, 29 Sep 2025 20:12:45 +0200 Subject: [PATCH 5/5] lini --- src/Tokens/Handlers/LivePreview.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Tokens/Handlers/LivePreview.php b/src/Tokens/Handlers/LivePreview.php index ee9f8bc6c06..1a36f3bdd33 100644 --- a/src/Tokens/Handlers/LivePreview.php +++ b/src/Tokens/Handlers/LivePreview.php @@ -14,7 +14,7 @@ class LivePreview public function handle(Token $token, $request, Closure $next) { $item = Facade::item($token); - + if (! $item) { return $next($request); }