Skip to content

UI 2.0.13

Latest

Choose a tag to compare

@m-reza-rahman m-reza-rahman released this 10 Sep 22:04
· 3 commits to master since this release

Highlights

The UI chrome (topbar, header, and footer) has been resynced with the
current jakarta.ee design (Solstice v2), and the sync is now automated so
future jakarta.ee changes flow in overnight instead of requiring a manual
port.

Changes since ui-2.0.12

  • Chrome resync with jakarta.ee. Adopt Solstice v2 styles/JS, updated
    Facelets template, Open Sans + Exo fonts.
  • Site branding is now data, not code. The topbar and footer HTML are
    fetched verbatim from jakarta.ee and inlined at render time, instead of
    being ported into hand-maintained XHTML fragments. This removes XHTML
    strictness pitfalls when jakarta.ee ships arbitrary HTML markup.
  • Files moved to the classpath. The topbar/footer HTML now lives under
    ui/src/main/resources/site-branding/ and ships in WEB-INF/classes/,
    so it is not publicly reachable. SiteBranding reads it via
    getClass().getResourceAsStream(...) and no longer depends on
    ServletContext.
  • Nightly auto-sync. A new sync-site-branding job in
    .github/workflows/nightly.yml runs ui/scripts/fetch-site-branding.py
    each night and pushes any drift as a bot commit. The script sends a
    browser User-Agent (jakarta.ee's CDN 403's the default
    Python-urllib/*) and verifies known markers before writing, so drift
    either lands cleanly or fails loudly without corrupting the tree.