[Performance] saveState debouncen + XLSX-Script defer/lazy-load #11
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Schweregrad: LOW
Dateien:
js/app.js:33-40(aufgerufen u.a.js/employees.js:191,js/calendar.js:270),index.html:11Problem:
saveStateschreibt bei jedem Change synchron das komplette JSON. Das ~500 KB XLSX-Script blockiert im<head>das Parsing, obwohl nur für Im-/Export gebraucht.Fix:
saveStateum ~300–500 ms debouncen; XLSX-Scriptdefersetzen oder perimport()erst bei Bedarf laden.Behoben in
0efb9cb:saveStatedebounced (~400 ms), bündelt schnelle Änderungen; ausstehender Write wird beibeforeunloadundvisibilitychange→hidden geflusht (kein Verlust der letzten Änderung, konsistent mit #4). SheetJS-Script mitdefer(nicht mehr render-blockierend);typeof XLSX-Guard deckt den Lade-Fall ab. Headless ohne Fehler verifiziert.