From 9141fa35f7478dde11f5ca8b2caf54a5608ab6ee Mon Sep 17 00:00:00 2001 From: SandObserver <260779319+SandObserver@users.noreply.github.com> Date: Thu, 10 Sep 2026 19:59:44 -0400 Subject: [PATCH] Document the Speedtest Tracker API token The System summary network row now takes an optional API token for Speedtest Tracker. Replace the one-line description of the speed fields with a table covering all three, and state what the token changes. Refresh the bundled widget and dashboard code, which the previews run. --- public/js/widget-toolbox.js | 6 +- public/widgets/backup/backup.html | 2 +- public/widgets/books/index.html | 2 +- .../widgets/connections/connections-map.html | 2 +- .../widgets/connections/connections-vpn.html | 2 +- public/widgets/dashboard-switch/index.html | 2 +- public/widgets/disk-health/data.js | 45 ++++++++--- public/widgets/disk-health/index.html | 2 +- public/widgets/dns/index.html | 2 +- public/widgets/github/contributions.html | 2 +- public/widgets/github/pullrequests.html | 2 +- public/widgets/nowplaying/index.html | 2 +- public/widgets/system-summary/data.js | 76 ++++++++++++++++++- public/widgets/system-summary/i18n/de.json | 2 + public/widgets/system-summary/i18n/en.json | 2 + public/widgets/system-summary/i18n/es.json | 2 + public/widgets/system-summary/i18n/fa.json | 2 + public/widgets/system-summary/i18n/fr.json | 2 + .../widgets/system-summary/i18n/zh-Hans.json | 2 + public/widgets/system-summary/index.html | 43 ++++++++++- public/widgets/system-summary/widget.json | 44 +++++++++++ public/widgets/weather/index.html | 2 +- .../docs/docs/widgets/system-summary.mdx | 14 +++- 23 files changed, 231 insertions(+), 31 deletions(-) diff --git a/public/js/widget-toolbox.js b/public/js/widget-toolbox.js index 1fa49d6..40cd22d 100644 --- a/public/js/widget-toolbox.js +++ b/public/js/widget-toolbox.js @@ -25,7 +25,11 @@ export function widgetId() { export async function fetchData(endpoint, opts = {}) { const id = widgetId(); - const qs = endpoint ? '?endpoint=' + encodeURIComponent(endpoint) : ''; + const p = new URLSearchParams(); + if (endpoint) p.set('endpoint', endpoint); + for (const [k, v] of Object.entries(opts.params || {})) p.set(k, String(v)); + const query = p.toString(); + const qs = query ? '?' + query : ''; const r = await fetch(`/api/widget-data/${encodeURIComponent(id)}${qs}`, { cache: 'no-store', signal: opts.signal }); if (!r.ok) { const d = await r.json().catch(() => ({})); diff --git a/public/widgets/backup/backup.html b/public/widgets/backup/backup.html index 9ae7426..72d8960 100644 --- a/public/widgets/backup/backup.html +++ b/public/widgets/backup/backup.html @@ -120,7 +120,7 @@