Batch API endpoints, reduce frontend polling by ~75%, fix resource leaks

Backend: add batch endpoints for target states, metrics, and device
health to replace O(N) individual API calls per poll cycle.
Frontend: use batch endpoints in dashboard/targets/profiles tabs,
fix Chart.js instance leaks, debounce server event reloads, add
i18n active-tab guards, clean up ResizeObserver on pattern editor
close, cache uptime timer DOM refs, increase KC auto-refresh to 2s.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-22 18:55:09 +03:00
parent d4a0f3a7f5
commit 9392741f08
8 changed files with 125 additions and 73 deletions

View File

@@ -36,6 +36,13 @@ class PatternTemplateModal extends Modal {
setPatternEditorRects([]);
setPatternEditorSelectedIdx(-1);
setPatternEditorBgImage(null);
// Clean up ResizeObserver to prevent leaks
const canvas = document.getElementById('pattern-canvas');
if (canvas?._patternResizeObserver) {
canvas._patternResizeObserver.disconnect();
canvas._patternResizeObserver = null;
}
if (canvas) canvas._patternEventsAttached = false;
}
}