Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
## [2.6.2] - 2026-09-16

### Fixed
- **The Font Awesome SVG-with-JS build is no longer loaded.**
`nodejs/views/top.ejs` pulled both the webfont stylesheet *and*
`js/all.min.js`. The JS build runs a MutationObserver over the whole document,
rewriting every `<i>` into an `<svg>` and keeping the original source. On a
page that re-renders a list often it cannot keep up: measured in Chrome, 150
rows x 6 rebuilds froze the renderer at 776MB having converted **zero** icons,
while the same run without it was untroubled. The stylesheet alone renders the
same `fa-solid fa-*` classes with no scripting, and nothing in this app uses
an SVG-only feature (`fa-layers`, power transforms, masks).

Found in theta-directory; the proxy loads the same shell, so it carried the
same cost.

## [2.6.1] - 2026-09-16

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion nodejs/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "theta-proxy",
"version": "2.6.1",
"version": "2.6.2",
"author": [
{
"name": "William Mantly",
Expand Down
9 changes: 8 additions & 1 deletion nodejs/views/top.ejs
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,21 @@
<link rel="icon" type="image/svg+xml" href="<%- ui.faviconUrl %>">
<!-- CSS are placed here -->
<link rel="stylesheet" href="/static-modules/bootstrap/dist/css/bootstrap.min.css">
<!-- Font Awesome, webfont build ONLY. The SVG-with-JS build (js/all.min.js)
was loaded alongside this and has been removed: it runs a MutationObserver
over the whole document and rewrites every <i> into an <svg>, keeping the
original source. On a page that re-renders a list often it cannot keep up --
measured in Chrome, 150 rows x 6 rebuilds froze the renderer at 776MB with
ZERO icons converted, while the same run without it was untroubled. This
stylesheet renders the same `fa-solid fa-*` classes with no scripting, and
nothing here uses an SVG-only feature (fa-layers, power transforms, masks). -->
<link rel="stylesheet" href="/static-modules/@fortawesome/fontawesome-free/css/all.min.css">

<link rel='stylesheet' href='/static/css/styles.css' />
<!-- Scripts are placed here -->
<script type="text/javascript" src="/socket.io/socket.io.js"></script>
<script type="text/javascript" src='/static-modules/jquery/dist/jquery.js'></script>
<script type="text/javascript" src="/static-modules/bootstrap/dist/js/bootstrap.bundle.min.js"></script>
<script type="text/javascript" src="/static-modules/@fortawesome/fontawesome-free/js/all.min.js"></script>
<script type="text/javascript" src='/static-modules/mustache/mustache.min.js'></script>
<script type="text/javascript" src='/static-modules/jq-repeat/dist/js/jq-repeat.js'></script>
<script type="text/javascript" src="/static-modules/moment/moment.js"></script>
Expand Down
Loading