From 6dd9e9adc83589b5d5ab8b11bc74eae7a6c1f119 Mon Sep 17 00:00:00 2001 From: muxator Date: Thu, 14 May 2020 01:54:57 +0200 Subject: [PATCH] assets: also use cache busting via query string in files imported from acs.js Before this change, a client would require two versions of the same assets (with and without randomVersionString), wasting resources and triggering all sorts of hard to debug inconsistencies. This change should have been part of 95fd5ce2a45e and completes it. --- src/node/handler/PadMessageHandler.js | 1 + src/static/js/ace.js | 8 ++++---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/node/handler/PadMessageHandler.js b/src/node/handler/PadMessageHandler.js index 9e23fea21..bf69a3d25 100644 --- a/src/node/handler/PadMessageHandler.js +++ b/src/node/handler/PadMessageHandler.js @@ -1076,6 +1076,7 @@ async function handleClientReady(client, message) var clientVars = { "skinName": settings.skinName, "skinVariants": settings.skinVariants, + "randomVersionString": settings.randomVersionString, "accountPrivs": { "maxRevisions": 100 }, diff --git a/src/static/js/ace.js b/src/static/js/ace.js index d06d902a6..efb27fc5f 100644 --- a/src/static/js/ace.js +++ b/src/static/js/ace.js @@ -237,7 +237,7 @@ function Ace2Editor() // disableCustomScriptsAndStyles can be used to disable loading of custom scripts if(!clientVars.disableCustomScriptsAndStyles){ - $$INCLUDE_CSS("../static/css/pad.css"); + $$INCLUDE_CSS("../static/css/pad.css?v=" + clientVars.randomVersionString); } var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){ @@ -247,7 +247,7 @@ function Ace2Editor() return '../static/plugins/' + path; }); includedCSS = includedCSS.concat(additionalCSS); - $$INCLUDE_CSS("../static/skins/" + clientVars.skinName + "/pad.css"); + $$INCLUDE_CSS("../static/skins/" + clientVars.skinName + "/pad.css?v=" + clientVars.randomVersionString); pushStyleTagsFor(iframeHTML, includedCSS); @@ -321,7 +321,7 @@ window.onload = function () {\n\ var includedCSS = []; var $$INCLUDE_CSS = function(filename) {includedCSS.push(filename)}; $$INCLUDE_CSS("../static/css/iframe_editor.css"); - $$INCLUDE_CSS("../static/css/pad.css"); + $$INCLUDE_CSS("../static/css/pad.css?v=" + clientVars.randomVersionString); var additionalCSS = _(hooks.callAll("aceEditorCSS")).map(function(path){ @@ -331,7 +331,7 @@ window.onload = function () {\n\ return '../static/plugins/' + path } ); includedCSS = includedCSS.concat(additionalCSS); - $$INCLUDE_CSS("../static/skins/" + clientVars.skinName + "/pad.css"); + $$INCLUDE_CSS("../static/skins/" + clientVars.skinName + "/pad.css?v=" + clientVars.randomVersionString); pushStyleTagsFor(outerHTML, includedCSS);