[
https://issues.apache.org/jira/browse/KNOX-3508?focusedWorklogId=1046107&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-1046107
]
ASF GitHub Bot logged work on KNOX-3508:
----------------------------------------
Author: ASF GitHub Bot
Created on: 07/Oct/26 09:00
Start Date: 07/Oct/26 09:00
Worklog Time Spent: 10m
Work Description: github-actions[bot] commented on PR #1444:
URL: https://github.com/apache/knox/pull/1444#issuecomment-6034585491
## Test Results
4 files 4 suites 41s ⏱️
132 tests 132 ✅ 0 💤 0 ❌
150 runs 150 ✅ 0 💤 0 ❌
Results for commit 2b87fcdd.
[test-results]:data:application/gzip;base64,H4sIACAKxmoC/13MSw7CIBSF4a00jB0ASiFuxlBub3JjWwyPkXHvUmIRHX7/Sc6TIS1zZNfhchpYzJQaIAebyG87RXFZ0r6Jszx0i9m5/3SnR0m8BbS0/IQ5BB8+JeStfqoD7bIr38fq7rC6/3N+XSkVMDkZjQ5AjgK0BdSI3HHL5aiNEEqghokrg+z1BoZSf8wEAQAA
Issue Time Tracking
-------------------
Worklog Id: (was: 1046107)
Time Spent: 20m (was: 10m)
> Knox UIs load Material Icons/Roboto fonts from the internet
> (fonts.googleapis.com/gstatic.com), breaking icons in air-gapped environments
> -----------------------------------------------------------------------------------------------------------------------------------------
>
> Key: KNOX-3508
> URL: https://issues.apache.org/jira/browse/KNOX-3508
> Project: Apache Knox
> Issue Type: Bug
> Components: AdminUI, Homepage, TokenGenerationUI, TokenManagementUI
> Affects Versions: 3.0.0
> Reporter: Sandor Molnar
> Assignee: Sandor Molnar
> Priority: Major
> Fix For: 3.1.0
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> In air-gapped networks (and any environment that blocks outbound internet),
> the Knox Angular UIs render Material Icons as literal ligature text — e.g.
> the gear/settings and pin icons appear as the words settings / push_pin,
> visible on mouse-over in a small space — instead of as glyphs.
> Browser network analysis shows the UI attempting to download the icon font
> from the internet:
> [https://fonts.gstatic.com/s/materialicons/v145/flUhRq6tzZclQEJ-Vdg-IuiaDsNc.woff2]
> Root cause: The Angular 21 Admin UI upgrade (KNOX-3234) and the other Angular
> UIs reintroduced external font <link> tags into index.html:
> - [https://fonts.googleapis.com/icon?family=Material+Icons] (admin-ui, home,
> token-generation, token-management)
> - [https://fonts.googleapis.com/css2?family=Roboto:]... + preconnect to
> gstatic (admin-ui only)
> This regresses KNOX-1731 ("Gateway Admin UI should not include external
> js/css"), which had removed all external CSS/JS so the UI worked offline.
> Earlier Knox versions packaged these icons locally.
> There are two failures:
> # Runtime — the browser cannot reach Google Fonts, so icon ligatures display
> as text.
> # Build-time — the Angular production build (Beasties critical-CSS inlining)
> fetches the fonts from Google at build time and inlines them into the built
> HTML/CSS, so the build itself requires internet access. The built
> admin-ui/index.html currently embeds the exact gstatic woff2 URL above plus
> 27 Roboto glyph-range URLs.
> *Affected modules:* gateway-admin-ui, knox-homepage-ui,
> knox-token-generation-ui, knox-token-management-ui. knox-webshell-ui is
> unaffected (no icons/fonts).
> *Fix:* Bundle every icon used by the UIs locally as inline SVGs sourced from
> Google Material Symbols (Apache-2.0), remove all external font <link> tags,
> and drop the Roboto web font in favor of the system font stack. No font files
> are fetched at build or runtime. ~22 distinct Material Symbols are used
> across the UIs. Also clean up two pre-existing dead icon references found
> during analysis (a <i class="icon-warning"> with no backing CSS/font, and a
> Bootstrap-3 glyphicon-info-sign that Bootstrap 5 no longer renders).
> *Acceptance:* With all outbound network blocked
> * (a) mvn package builds every UI module successfully
> * (b) the built index.html and hashed CSS/JS contain no googleapis/gstatic
> references, and
> * (c) every icon renders as a glyph with correct color/size theming.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)