fix: atomic SVG replaceWith() on sparkline update, no empty-frame bounce

This commit is contained in:
M1 2026-03-17 07:35:54 +04:00
parent 0874583a4f
commit 6929d8f51f
1 changed files with 8 additions and 1 deletions

View File

@ -95,7 +95,14 @@
_fetchingSparkline.add(ping.monitor_id); _fetchingSparkline.add(ping.monitor_id);
try { try {
const res = await fetch(`/dashboard/monitors/${ping.monitor_id}/sparkline`, { credentials: 'same-origin' }); const res = await fetch(`/dashboard/monitors/${ping.monitor_id}/sparkline`, { credentials: 'same-origin' });
if (res.ok) sparkEl.innerHTML = await res.text(); if (res.ok) {
const tmp = document.createElement('div');
tmp.innerHTML = await res.text();
const newSvg = tmp.firstElementChild;
const oldSvg = sparkEl.querySelector('svg');
if (newSvg && oldSvg) oldSvg.replaceWith(newSvg);
else if (newSvg) sparkEl.appendChild(newSvg);
}
} catch {} } catch {}
_fetchingSparkline.delete(ping.monitor_id); _fetchingSparkline.delete(ping.monitor_id);
}); });