From a0565eeaf4ecbead07ec628f129f96a904fb3182 Mon Sep 17 00:00:00 2001 From: Marvin Wade Date: Sun, 20 Sep 2026 13:14:56 -0400 Subject: [PATCH] Fix Certificates tile count mismatch and replace square icon with key icon --- ROADMAP.md | 2 ++ package.json | 2 +- src/public/app.js | 2 +- src/public/index.html | 6 +++--- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/ROADMAP.md b/ROADMAP.md index b635105..cafdf32 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -246,3 +246,5 @@ Roughly in priority order: `v0.16.60` fixes the Documentation manual's intro header leaving a large block of empty space on wide screens, by capping the whole `.docs-intro` panel at 900px and centering it. Shipped, then reported back as visibly worse: centering the panel broke its alignment with the Contents sidebar and article panel in `.docs-layout` directly below it, which both remain full-width -- the intro now floats disconnected in the middle of the page instead of lining up with the rest of the manual. `v0.16.61` reverts v0.16.60's panel-centering approach and fixes the same empty-space issue correctly. The actual cause was the lede paragraph's own `max-width:850px`, set inside a `.docs-intro` panel that already spans the full reading-column width (matching the Contents sidebar + article layout beneath it) -- the paragraph simply stopped well short of the panel's real width. Removing that max-width lets the paragraph flow to fill the panel it already sits in, while the panel itself stays full-width and aligned with the rest of the manual, exactly as it was before v0.16.60. + +`v0.16.62` fixes two Dashboard issues found while reviewing a fresh screenshot for the marketing site. First, the Certificates tile's big number and its "X healthy · Y not detected" line disagreed with each other (e.g. showing "11" above "12 healthy") because they came from two different counts: the big number used `tlsDomains`, a route-count over enabled Hosted Sites and Proxy Hosts with TLS on, while the detail line used the certificate inventory's domain-level summary -- which also includes Redirect Hosts and expands any route with alias domains into one entry per domain. The big number now reads from that same certificate summary the detail line already used, so a route with an alias domain (the actual cause of the 11-vs-12 mismatch) is counted consistently in both places; the underlying route-count (`tlsDomains`) is untouched where it's used to gate the HTTPS/443 health probe, since that is a genuinely different question ("is TLS configured at all") from "how many certificates exist." Second, the Certificates tile's icon was a plain unicode square (`▣`) left over from before the tile had a real icon design -- it's now a small key glyph drawn as an inline SVG in the app's existing icon style (stroke-based, `currentColor`), matching the key icon used for Certificates on the marketing website and requested directly against a reference image. diff --git a/package.json b/package.json index 78ae38d..b65be14 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "site-gateway", - "version": "0.16.61", + "version": "0.16.62", "private": true, "description": "Site Gateway: simple self-hosted website publishing, reverse proxying, and automatic HTTPS.", "type": "module", diff --git a/src/public/app.js b/src/public/app.js index 9b960df..feaf168 100644 --- a/src/public/app.js +++ b/src/public/app.js @@ -181,7 +181,7 @@ function renderDashboard() { $("#dash-hosted-detail").textContent = healthCopy(data.hosted, "sites"); $("#dash-proxy-total").textContent = data.proxies.total; $("#dash-proxy-detail").textContent = healthCopy(data.proxies, "routes"); - $("#dash-tls-total").textContent = data.tlsDomains; + $("#dash-tls-total").textContent = data.certificates.total; $("#dash-tls-detail").textContent = data.certificates.total ? `${data.certificates.healthy} healthy · ${data.certificates.pending} not detected` : "No TLS domains"; $("#dash-redirect-total").textContent = state.redirects?.length || 0; $("#dash-stream-total").textContent = state.streams?.length || 0; diff --git a/src/public/index.html b/src/public/index.html index 8dca90c..def66d3 100644 --- a/src/public/index.html +++ b/src/public/index.html @@ -8,7 +8,7 @@ Site Gateway - + - +