v4.31.1 restored {{yield}} rendering (#101 / #107) — thank you! — but running the UI in production surfaced several leftovers of the Bootstrap 3 → 5.3 migration (#turned up on 4.30.2, still present on master):
1. Navbar Dashboard link 404s
layout.tmpl links the Clusters ▸ Dashboard entry to {{.prefix}}/web/clusters/ (trailing slash). The router only registers /web/clusters and does not redirect, so the link returns 404. One-line fix in PR (linked below).
2. Blank icons: glyphicon-* classes with no Glyphicons font
5 templates (and the legacy JS) still use glyphicon glyphicon-* classes. The Glyphicons Halflings font was dropped in Bootstrap 4, and neither the font nor any compat CSS ships in resources/public — every icon renders as an empty box. Options: migrate to bootstrap-icons, or ship the BS3 glyphicons font + a small @font-face/class CSS (we run the latter downstream; happy to PR it if that direction is acceptable).
3. Cluster sidebar / filters broken: BS3 utility classes emitted by the JS
The cluster page JS still emits .hidden, .pull-left/right, .label-* and .panel* markup. None of these exist in BS5: a should-be-hidden sidebar renders as a floating box, the cluster filters/pool sidebar is unusable, dashboards lose their panel styling. We paper over it downstream with a compat stylesheet (~BS3 shims); the real fix is porting the JS/templates to BS5 classes.
4. (design) bootstrap comes only from cdn.jsdelivr.net
layout.tmpl hard-codes the jsdelivr CDN (with SRI). Management networks that can't reach the CDN get a completely unstyled UI. For an ops tool it would be great to ship bootstrap in resources/public and reference it locally (or offer a config toggle).
Happy to contribute PRs for any of these if maintainers agree on direction — starting with the trivial #1.
v4.31.1 restored
{{yield}}rendering (#101 / #107) — thank you! — but running the UI in production surfaced several leftovers of the Bootstrap 3 → 5.3 migration (#turned up on 4.30.2, still present on master):1. Navbar Dashboard link 404s
layout.tmpllinks the Clusters ▸ Dashboard entry to{{.prefix}}/web/clusters/(trailing slash). The router only registers/web/clustersand does not redirect, so the link returns 404. One-line fix in PR (linked below).2. Blank icons:
glyphicon-*classes with no Glyphicons font5 templates (and the legacy JS) still use
glyphicon glyphicon-*classes. The Glyphicons Halflings font was dropped in Bootstrap 4, and neither the font nor any compat CSS ships inresources/public— every icon renders as an empty box. Options: migrate to bootstrap-icons, or ship the BS3 glyphicons font + a small@font-face/class CSS (we run the latter downstream; happy to PR it if that direction is acceptable).3. Cluster sidebar / filters broken: BS3 utility classes emitted by the JS
The cluster page JS still emits
.hidden,.pull-left/right,.label-*and.panel*markup. None of these exist in BS5: a should-be-hidden sidebar renders as a floating box, the cluster filters/pool sidebar is unusable, dashboards lose their panel styling. We paper over it downstream with a compat stylesheet (~BS3 shims); the real fix is porting the JS/templates to BS5 classes.4. (design) bootstrap comes only from cdn.jsdelivr.net
layout.tmplhard-codes the jsdelivr CDN (with SRI). Management networks that can't reach the CDN get a completely unstyled UI. For an ops tool it would be great to ship bootstrap inresources/publicand reference it locally (or offer a config toggle).Happy to contribute PRs for any of these if maintainers agree on direction — starting with the trivial #1.