From 17aec26bc9513d82a10b55c7cb05917742bdab8c Mon Sep 17 00:00:00 2001 From: Harald Leithner Date: Wed, 29 Oct 2025 22:51:05 +0100 Subject: [PATCH 1/4] Add "nocache" as version option to webasset manager --- .../src/Document/Renderer/Html/ScriptsRenderer.php | 12 ++++++++++-- .../src/Document/Renderer/Html/StylesRenderer.php | 6 +++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/libraries/src/Document/Renderer/Html/ScriptsRenderer.php b/libraries/src/Document/Renderer/Html/ScriptsRenderer.php index b1819c578dec8..0d8b1bc25efeb 100644 --- a/libraries/src/Document/Renderer/Html/ScriptsRenderer.php +++ b/libraries/src/Document/Renderer/Html/ScriptsRenderer.php @@ -186,7 +186,11 @@ private function renderElement($item): string // Check if script uses media version. if ($version && !str_contains($src, '?') && ($mediaVersion || $version !== 'auto')) { - $src .= '?' . ($version === 'auto' ? $mediaVersion : $version); + $src .= '?' . match($version) { + 'auto' => $mediaVersion, + 'nocache' => 'nocache-' . rand(0, 1_000_000), + default => $version, + }; } $buffer .= $tab; @@ -358,7 +362,11 @@ private function renderImportmap(array &$assets) // Check if script uses media version. if ($version && !str_contains($src, '?') && !str_ends_with($src, '/') && ($mediaVersion || $version !== 'auto')) { - $src .= '?' . ($version === 'auto' ? $mediaVersion : $version); + $src .= '?' . match($version) { + 'auto' => $mediaVersion, + 'nocache' => 'nocache-' . rand(0, 1_000_000), + default => $version, + }; } if (!$esmScope) { diff --git a/libraries/src/Document/Renderer/Html/StylesRenderer.php b/libraries/src/Document/Renderer/Html/StylesRenderer.php index 45a6aa39a7a4d..ef8b56c157336 100644 --- a/libraries/src/Document/Renderer/Html/StylesRenderer.php +++ b/libraries/src/Document/Renderer/Html/StylesRenderer.php @@ -175,7 +175,11 @@ private function renderElement($item): string // Check if script uses media version. if ($version && !str_contains($src, '?') && ($mediaVersion || $version !== 'auto')) { - $src .= '?' . ($version === 'auto' ? $mediaVersion : $version); + $src .= '?' . match($version) { + 'auto' => $mediaVersion, + 'nocache' => 'nocache-' . rand(0, 1_000_000), + default => $version, + }; } $buffer .= $tab; From 45fbab8d90461c1de97a0b279ed34a362cec0c5c Mon Sep 17 00:00:00 2001 From: Harald Leithner Date: Thu, 30 Oct 2025 10:35:17 +0100 Subject: [PATCH 2/4] Update libraries/src/Document/Renderer/Html/ScriptsRenderer.php Co-authored-by: Richard Fath --- libraries/src/Document/Renderer/Html/ScriptsRenderer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Document/Renderer/Html/ScriptsRenderer.php b/libraries/src/Document/Renderer/Html/ScriptsRenderer.php index 0d8b1bc25efeb..84ebba9aadc85 100644 --- a/libraries/src/Document/Renderer/Html/ScriptsRenderer.php +++ b/libraries/src/Document/Renderer/Html/ScriptsRenderer.php @@ -362,7 +362,7 @@ private function renderImportmap(array &$assets) // Check if script uses media version. if ($version && !str_contains($src, '?') && !str_ends_with($src, '/') && ($mediaVersion || $version !== 'auto')) { - $src .= '?' . match($version) { + $src .= '?' . match ($version) { 'auto' => $mediaVersion, 'nocache' => 'nocache-' . rand(0, 1_000_000), default => $version, From 1b288c5b000f6af3e3e89ca4b5563faa2781ca60 Mon Sep 17 00:00:00 2001 From: Harald Leithner Date: Thu, 30 Oct 2025 10:35:22 +0100 Subject: [PATCH 3/4] Update libraries/src/Document/Renderer/Html/StylesRenderer.php Co-authored-by: Richard Fath --- libraries/src/Document/Renderer/Html/StylesRenderer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Document/Renderer/Html/StylesRenderer.php b/libraries/src/Document/Renderer/Html/StylesRenderer.php index ef8b56c157336..b6ddbcae15ecf 100644 --- a/libraries/src/Document/Renderer/Html/StylesRenderer.php +++ b/libraries/src/Document/Renderer/Html/StylesRenderer.php @@ -175,7 +175,7 @@ private function renderElement($item): string // Check if script uses media version. if ($version && !str_contains($src, '?') && ($mediaVersion || $version !== 'auto')) { - $src .= '?' . match($version) { + $src .= '?' . match ($version) { 'auto' => $mediaVersion, 'nocache' => 'nocache-' . rand(0, 1_000_000), default => $version, From 53614f12a6d88b817ff66f9819d345c538e1e956 Mon Sep 17 00:00:00 2001 From: Benjamin Trenkle Date: Thu, 30 Oct 2025 11:45:55 +0100 Subject: [PATCH 4/4] Update libraries/src/Document/Renderer/Html/ScriptsRenderer.php Co-authored-by: Richard Fath --- libraries/src/Document/Renderer/Html/ScriptsRenderer.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libraries/src/Document/Renderer/Html/ScriptsRenderer.php b/libraries/src/Document/Renderer/Html/ScriptsRenderer.php index 84ebba9aadc85..78f2f36f6f764 100644 --- a/libraries/src/Document/Renderer/Html/ScriptsRenderer.php +++ b/libraries/src/Document/Renderer/Html/ScriptsRenderer.php @@ -186,7 +186,7 @@ private function renderElement($item): string // Check if script uses media version. if ($version && !str_contains($src, '?') && ($mediaVersion || $version !== 'auto')) { - $src .= '?' . match($version) { + $src .= '?' . match ($version) { 'auto' => $mediaVersion, 'nocache' => 'nocache-' . rand(0, 1_000_000), default => $version,