ferdi2go
  • Joined on 2026-02-27
ferdi2go commented on issue ferdi2go/Meeting-Mixer#13 2026-06-03 16:03:00 +02:00
[Testing] Tests für Render-/Persistenz-Schicht

Behoben in 189bcb6: jsdom-basierte Integrationstests. render.test.mjs treibt die echte UI (Mitarbeiter anlegen, Kalender-Grid via makeDayCell, Plan generieren, manuelle Slot-Änderung,…

ferdi2go closed issue ferdi2go/Meeting-Mixer#13 2026-06-03 16:03:00 +02:00
[Testing] Tests für Render-/Persistenz-Schicht
ferdi2go commented on issue ferdi2go/Meeting-Mixer#16 2026-06-03 15:44:45 +02:00
[Code-Quality] Naming-Inkonsistenz, README/Tech-Stack, Magic Numbers

Behoben in 836d0ee: kanonischer Name Meeting Mixer überall (<title>, README, .vch-description, package.jsonmeeting-mixer). README um Tech-Stack ergänzt und Port-Hinweis…

ferdi2go closed issue ferdi2go/Meeting-Mixer#16 2026-06-03 15:44:45 +02:00
[Code-Quality] Naming-Inkonsistenz, README/Tech-Stack, Magic Numbers
ferdi2go closed issue ferdi2go/Meeting-Mixer#15 2026-06-03 15:06:50 +02:00
[a11y] Form-Labels mit Inputs verknüpfen
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 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#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 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 closed issue ferdi2go/Meeting-Mixer#8 2026-06-03 14:40:59 +02:00
[Security] PII in localStorage dokumentieren + schwacher ID-Fallback
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 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 closed issue ferdi2go/Meeting-Mixer#7 2026-06-03 14:37:32 +02:00
[Security] Excel-Formel-Injection über Mitarbeiternamen