Skip to content

Cache busting is broken - ${packageTimestamp} is never substituted in HTML resources #8518

@rzo1

Description

@rzo1

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.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions