After the dark mode / Bootstrap 5.3.8 rewrite in 6cc4171, users can hit a TypeError at topology.html:307 where Mustache.render receives undefined because #topology-summary-template isn't found in the fetched topology-page-template.html. The root cause is a stale main.bundle.js (with old template IDs) being served alongside the new templates, or vice versa.
topology.html:25 references the bundle as:
<script src="/dist/main.bundle.js?_ts=${packageTimestamp}" ...>
However, ${packageTimestamp} is never expanded.
In storm-webapp/pom.xml (lines 143–148), the WEB-INF/**/. resource does not have true, so Maven leaves the placeholder as a literal string.
This means the "cache-busting" query parameter is actually a constant across deploys, and the browser keeps serving whatever version it already has cached. Additionally, topology-page-template.html and other AJAX-fetched templates have no cache-busting parameter at all.
Workaround is to hard-reload (Cmd/Ctrl+Shift+R) or clear site data for the Storm UI origin.
After the dark mode / Bootstrap 5.3.8 rewrite in 6cc4171, users can hit a TypeError at topology.html:307 where Mustache.render receives undefined because #topology-summary-template isn't found in the fetched topology-page-template.html. The root cause is a stale main.bundle.js (with old template IDs) being served alongside the new templates, or vice versa.
topology.html:25 references the bundle as:
<script src="/dist/main.bundle.js?_ts=${packageTimestamp}" ...>However, ${packageTimestamp} is never expanded.
In storm-webapp/pom.xml (lines 143–148), the WEB-INF/**/. resource does not have true, so Maven leaves the placeholder as a literal string.
This means the "cache-busting" query parameter is actually a constant across deploys, and the browser keeps serving whatever version it already has cached. Additionally, topology-page-template.html and other AJAX-fetched templates have no cache-busting parameter at all.
Workaround is to hard-reload (Cmd/Ctrl+Shift+R) or clear site data for the Storm UI origin.