stop automatic SWR image reloading

Disable periodic and station-status-triggered SWR report refreshes on the web UI, and only use per-band updatedAt values for cache-busting image URLs. This prevents constant image refetching while still loading new images when their timestamps actually change.
This commit is contained in:
2026-03-16 11:41:50 +01:00
parent 670a2cb605
commit 163b5915f3

View File

@@ -293,7 +293,6 @@ async function init() {
const route = currentRoute(); const route = currentRoute();
if (route === "/rms/swr" || route === "/rms") { if (route === "/rms/swr" || route === "/rms") {
refreshStatus().catch(() => {}); refreshStatus().catch(() => {});
refreshSwrReport().catch(() => {});
} }
}, SWR_DETAIL_REFRESH_MS); }, SWR_DETAIL_REFRESH_MS);
} }
@@ -2215,7 +2214,7 @@ function renderSwrBandsInto(container, report, options = {}) {
container.classList.remove("swr-summary-list"); container.classList.remove("swr-summary-list");
for (const band of bands) { for (const band of bands) {
const imageVersion = band.updatedAt || report.generatedAt || ""; const imageVersion = band.updatedAt || "";
const imageUrl = withCacheVersion(band.imageUrl, imageVersion); const imageUrl = withCacheVersion(band.imageUrl, imageVersion);
const block = document.createElement("div"); const block = document.createElement("div");
block.className = "plugin-block"; block.className = "plugin-block";
@@ -4687,7 +4686,6 @@ function connectEvents() {
}; };
eventSource.addEventListener("station.status.changed", async () => { eventSource.addEventListener("station.status.changed", async () => {
await refreshStatus(); await refreshStatus();
await refreshSwrReport();
if (canSeeActivityLog()) { if (canSeeActivityLog()) {
await refreshActivityLog(); await refreshActivityLog();
} }
@@ -4748,7 +4746,7 @@ function connectEvents() {
await refreshStatus(); await refreshStatus();
}); });
eventSource.addEventListener("swr.report.changed", async () => { eventSource.addEventListener("swr.report.changed", async () => {
await refreshSwrReport(); // SWR images are intentionally not auto-reloaded to avoid repeated browser fetches.
}); });
eventSource.addEventListener("plugin.provider.changed", async () => { eventSource.addEventListener("plugin.provider.changed", async () => {
await refreshPlugins(); await refreshPlugins();