Skip to content

Web UI: residual Bootstrap 3 leftovers after the 5.3 migration (blank icons, broken cluster sidebar, 404 Dashboard link) #118

Description

@qveensi

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions