Commit f6c2fbc
fix(view): inline Semantic UI icon font so dev page icons render (#2563)
* fix(view): inline Semantic UI icon font so dev page icons render
The framework dev pages (/wheels/guides, /wheels/info, /wheels/migrator,
/wheels/packages, etc.) inline semantic.min.css into a <style> block.
Its @font-face declarations point at relative URLs like
themes/default/assets/fonts/icons.woff2, which resolve against the
page URL (e.g. /wheels/guides) — there is no static route to serve
them, so every <i class="...icon"> rendered as an empty bordered box.
Read icons.woff2 once at application scope, base64-encode it, and
emit a data-URI @font-face override after the inlined Semantic CSS.
Later @font-face for the same font-family wins in the CSS cascade,
so this overrides the broken declarations without modifying
semantic.min.css. Added in both _header.cfm and _header_simple.cfm
(the latter is used by error pages and may render before any
"full" page has visited).
Closes #2421.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* fix(view): address Reviewer A/B consensus findings (round 1)
- Wrap icon-font init in double-checked cflock on both _header.cfm and
_header_simple.cfm. Build the data URI into a local variable inside
an exclusive lock and assign to application scope only once,
eliminating the intermediate empty-string state that let a concurrent
request read "" and skip the @font-face block. Mirrors the pattern
in BrowserTest.cfc::$ensureLauncher.
- Add CHANGELOG [Unreleased] ### Fixed entry referencing #2563.
---------
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com>1 parent 4fd9bf1 commit f6c2fbc
3 files changed
Lines changed: 70 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
152 | 152 | | |
153 | 153 | | |
154 | 154 | | |
| 155 | + | |
155 | 156 | | |
156 | 157 | | |
157 | 158 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
10 | 41 | | |
11 | 42 | | |
12 | 43 | | |
| |||
125 | 156 | | |
126 | 157 | | |
127 | 158 | | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
128 | 168 | | |
129 | 169 | | |
130 | 170 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
13 | 33 | | |
14 | 34 | | |
15 | 35 | | |
| |||
21 | 41 | | |
22 | 42 | | |
23 | 43 | | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
24 | 53 | | |
25 | 54 | | |
26 | 55 | | |
| |||
0 commit comments