Skip to content

Commit ee726ad

Browse files
committed
Do not cache JS/CSS between versions
Users often report JavaScript or page display errors after an upgrade (blank page, only header and footer, etc). This change adds a query parameter for JS/CSS files, so that they change from version to version and therefore are the browser should not use the outdated cache entries.
1 parent 3b9439c commit ee726ad

File tree

4 files changed

+19
-13
lines changed

4 files changed

+19
-13
lines changed

deps/rabbitmq_management/Makefile

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,5 @@ list-dist-deps::
4545
prepare-dist::
4646
$(verbose) sed 's/%%VSN%%/$(PROJECT_VERSION)/' bin/rabbitmqadmin \
4747
> $(EZ_DIR)/priv/www/cli/rabbitmqadmin
48-
mv $(EZ_DIR)/priv/www/css/main.css $(EZ_DIR)/priv/www/css/main-$(PROJECT_VERSION).css
49-
$(verbose) sed "s#css/main.css#css/main-$(PROJECT_VERSION).css#" priv/www/index.html \
48+
$(verbose) sed "s/%%VSN%%/$(PROJECT_VERSION)/" priv/www/index.html \
5049
> $(EZ_DIR)/priv/www/index.html
51-
echo "management_version = \"$(PROJECT_VERSION)\";" >> $(EZ_DIR)/priv/www/js/global.js

deps/rabbitmq_management/priv/www/index.html

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,25 @@
1111
<script src="js/sammy-0.7.6.min.js" type="text/javascript"></script>
1212
<script src="js/json2-2016.10.28.js" type="text/javascript"></script>
1313
<script src="js/base64.js" type="text/javascript"></script>
14-
<script src="js/global.js" type="text/javascript"></script>
15-
<script src="js/main.js" type="text/javascript"></script>
16-
<script src="js/prefs.js" type="text/javascript"></script>
17-
<script src="js/formatters.js" type="text/javascript"></script>
18-
<script src="js/charts.js" type="text/javascript"></script>
14+
15+
<script type="text/javascript">
16+
management_version = "%%VSN%%";
17+
const scripts = ["global.js", "main.js", "prefs.js", "formatters.js", "charts.js"];
18+
scripts.forEach((script) => {
19+
tag = document.createElement('script');
20+
tag.src = 'js/' + script + '?v=' + management_version;
21+
document.head.appendChild(tag);
22+
});
23+
24+
tag = document.createElement('link');
25+
tag.rel = 'stylesheet';
26+
tag.type = 'text/css';
27+
tag.href = 'css/main.css?v=' + management_version;
28+
document.head.appendChild(tag);
29+
</script>
30+
1931
<script src="js/oidc-oauth/bootstrap.js" type="module"></script>
2032

21-
<link href="css/main.css" rel="stylesheet" type="text/css"/>
2233
<link href="favicon.ico" rel="shortcut icon" type="image/x-icon"/>
2334

2435
<script type="module">

deps/rabbitmq_management/priv/www/js/global.js

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -889,6 +889,3 @@ var chart_data = {};
889889
var last_page_out_of_range_error = 0;
890890

891891
var oauth;
892-
893-
// version of RabbitMQ we connected to; used to detect version changes
894-
var management_version = "";

deps/rabbitmq_management/priv/www/js/tmpl/overview.ejs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<%
2-
if(management_version != overview.management_version) {
2+
if(management_version != undefined && management_version != '%%VSN%%' && management_version != overview.management_version) {
33
// RabbitMQ was upgraded
44
// full reload to get the latest CSS and JavaScript files
55
needs_full_refresh = true;

0 commit comments

Comments
 (0)