ferdi2go commented on issue ferdi2go/Meeting-Mixer#15 2026-06-03 15:06:50 +02:00
[a11y] Form-Labels mit Inputs verknüpfen

Behoben in b3eeca5: Monat/Jahr/Slots-Selects haben jetzt id + zugehöriges <label for>; Name-Input, Excel-Import- und JSON-Import-Datei-Inputs erhalten aria-label.

ferdi2go commented on issue ferdi2go/Meeting-Mixer#14 2026-06-03 15:05:34 +02:00
[Code-Quality] Robustheit: parseInt-Radix, minGapDays-Guard, catch-Logs

Behoben in 7ab2911: parseInt(month/year, 10) mit Radix; minGap-Check mit Null-Guard (c.minGapDays != null && c.minGapDays > 0); stille catch-Blöcke (korrupter localStorage-Load, `createEmploy…

ferdi2go closed issue ferdi2go/Meeting-Mixer#14 2026-06-03 15:05:34 +02:00
[Code-Quality] Robustheit: parseInt-Radix, minGapDays-Guard, catch-Logs
ferdi2go commented on issue ferdi2go/Meeting-Mixer#12 2026-06-03 15:01:28 +02:00
[Code-Quality] DRY: Datums-/Helper-Duplikate in utils.js zentralisieren

Behoben in fd98708: neues js/utils.js mit toISO, monthPrefix, getWeekday, formatDateDE, buildNameMap. algorithm.js, calendar.js, excel.js, history.js importieren diese statt…

ferdi2go closed issue ferdi2go/Meeting-Mixer#12 2026-06-03 15:01:28 +02:00
[Code-Quality] DRY: Datums-/Helper-Duplikate in utils.js zentralisieren
ferdi2go commented on issue ferdi2go/Meeting-Mixer#11 2026-06-03 14:54:41 +02:00
[Performance] saveState debouncen + XLSX-Script defer/lazy-load

Behoben in 0efb9cb: saveState debounced (~400 ms), bündelt schnelle Änderungen; ausstehender Write wird bei beforeunload und visibilitychange→hidden geflusht (kein Verlust der letzten…

ferdi2go closed issue ferdi2go/Meeting-Mixer#11 2026-06-03 14:54:41 +02:00
[Performance] saveState debouncen + XLSX-Script defer/lazy-load
ferdi2go commented on issue ferdi2go/Meeting-Mixer#10 2026-06-03 14:51:16 +02:00
[Performance] Kalender-Voll-Rerender bei jeder Interaktion

Behoben in 8cd8908: Tag-Zellen-Aufbau in makeDayCell(d) extrahiert. Slot-Änderungen und Feiertag/Betriebsurlaub-Toggles rendern jetzt nur die betroffene Zelle neu (cell.replaceWith)…

ferdi2go closed issue ferdi2go/Meeting-Mixer#10 2026-06-03 14:51:16 +02:00
[Performance] Kalender-Voll-Rerender bei jeder Interaktion
ferdi2go closed issue ferdi2go/Meeting-Mixer#9 2026-06-03 14:44:46 +02:00
[Performance] isEligible re-filtert/sortiert die ganze History pro Kandidat
ferdi2go commented on issue ferdi2go/Meeting-Mixer#9 2026-06-03 14:44:45 +02:00
[Performance] isEligible re-filtert/sortiert die ganze History pro Kandidat

Behoben in c076b5e: histCount-Map einmal pro Generierung vorberechnet — scoreCandidate macht jetzt O(1)-Lookup statt History-Scan pro Kandidat. minGap ermittelt das letzte Datum per…

ferdi2go commented on issue ferdi2go/Meeting-Mixer#8 2026-06-03 14:40:59 +02:00
[Security] PII in localStorage dokumentieren + schwacher ID-Fallback

Behoben in 074635c: README um Abschnitt Datenschutz & Speicherung ergänzt (lokales Single-User-Tool, unverschlüsselter localStorage, keine geteilten Geräte, JSON-Export zur Sicherung).…

ferdi2go closed issue ferdi2go/Meeting-Mixer#8 2026-06-03 14:40:59 +02:00
[Security] PII in localStorage dokumentieren + schwacher ID-Fallback
ferdi2go closed issue ferdi2go/Meeting-Mixer#7 2026-06-03 14:37:32 +02:00
[Security] Excel-Formel-Injection über Mitarbeiternamen
ferdi2go commented on issue ferdi2go/Meeting-Mixer#7 2026-06-03 14:37:32 +02:00
[Security] Excel-Formel-Injection über Mitarbeiternamen

Behoben in e6452fa: neue sanitizeCell-Funktion — Zellwerte mit führendem = + - @ (oder Steuerzeichen) werden mit ' als Text neutralisiert, angewandt auf die Namensspalte beim Excel-Export.…

ferdi2go commented on issue ferdi2go/Meeting-Mixer#6 2026-06-03 14:33:34 +02:00
[Security] Fehlende SRI + Content-Security-Policy für CDN/Assets

Behoben in f8efcf1: SheetJS-Script mit integrity="sha384-…" + crossorigin abgesichert; CSP-<meta> ergänzt (script-src 'self' https://cdn.sheetjs.com, object-src 'none', `base-uri…

ferdi2go closed issue ferdi2go/Meeting-Mixer#6 2026-06-03 14:33:34 +02:00
[Security] Fehlende SRI + Content-Security-Policy für CDN/Assets
ferdi2go closed issue ferdi2go/Meeting-Mixer#5 2026-06-03 14:29:16 +02:00
[Bug] Verwaiste History-Einträge nach Mitarbeiter-Löschung
ferdi2go commented on issue ferdi2go/Meeting-Mixer#5 2026-06-03 14:29:16 +02:00
[Bug] Verwaiste History-Einträge nach Mitarbeiter-Löschung

Behoben in 142e0ef: removeEmployee entfernt jetzt zusätzlich alle History-Einträge des Mitarbeiters — keine verwaisten (unbekannt)-Zeilen mehr. Verhalten gewählt: History mitlöschen.…

ferdi2go closed issue ferdi2go/Meeting-Mixer#4 2026-06-03 14:21:23 +02:00
[Bug] saveState scheitert still bei vollem/blockiertem localStorage