fix(backend,frontend,e2e): optionale Formularpunkte in Rechnung, Polling-Korrekturen (#316 #317 #318) #321

Merged
niboer merged 1 commit from fix/invoice-optional-items-polling into main 2026-07-20 19:42:11 +00:00
Owner

closes #316
closes #317
closes #318

Aktuelles:

  • #316: Optionale Checkbox-Items fehlten in der Rechnung bei Single-Selection
  • #317: Rechnungslauf-Polling wartete auf N+1 Rechnungen (Household-Grouping nicht in totalGuests beruecksichtigt)
  • #318: Kein Polling-Interval zwischen API-Abfragen ($effect ohne Teardown)

Neues:

  • #316: Backend deriveItems/calculateContribution normalisieren Strings -> Arrays.
    Frontend form-fields.svelte sendet type-Hidden mit Feldtyp.
    Server-Actions nutzen Feldtyp: checkbox=immer Array, radio=String.
    formatFormAnswers normalisiert checkbox-Strings -> Array (Altdaten-Kompatibilitaet).
  • #317: totalGuests wird nach Household-Grouping + alreadyBilled-Filter berechnet
  • #318: $effect-Teardown (cancelled-Flag + clearTimeout) + initialer 5s-Delay + 5s-Interval
  • E2E: Timeout von 30000 auf 35000 fuer initialen 5s-Delay

Wichtige Aenderung:

  • frontend/src/lib/components/form-fields.svelte: Hidden-Input type fuer Feldtyp-Erkennung
  • frontend/src/routes/app/events/[eventId]/+page.server.ts: Feldtypgesteuerte Serialisierung
  • backend/src/lib/invoice-generator.ts + backend/src/routes/forms.ts: String/Array-Normalisierung
  • backend/src/routes/invoices.ts: totalGuests nach Grouping berechnet
  • frontend/src/routes/app/events/[eventId]/+page.svelte: $effect-Teardown + 5s-Delay
closes #316 closes #317 closes #318 Aktuelles: - #316: Optionale Checkbox-Items fehlten in der Rechnung bei Single-Selection - #317: Rechnungslauf-Polling wartete auf N+1 Rechnungen (Household-Grouping nicht in totalGuests beruecksichtigt) - #318: Kein Polling-Interval zwischen API-Abfragen ($effect ohne Teardown) Neues: - #316: Backend deriveItems/calculateContribution normalisieren Strings -> Arrays. Frontend form-fields.svelte sendet __type__-Hidden mit Feldtyp. Server-Actions nutzen Feldtyp: checkbox=immer Array, radio=String. formatFormAnswers normalisiert checkbox-Strings -> Array (Altdaten-Kompatibilitaet). - #317: totalGuests wird nach Household-Grouping + alreadyBilled-Filter berechnet - #318: $effect-Teardown (cancelled-Flag + clearTimeout) + initialer 5s-Delay + 5s-Interval - E2E: Timeout von 30000 auf 35000 fuer initialen 5s-Delay Wichtige Aenderung: - frontend/src/lib/components/form-fields.svelte: Hidden-Input __type__ fuer Feldtyp-Erkennung - frontend/src/routes/app/events/[eventId]/+page.server.ts: Feldtypgesteuerte Serialisierung - backend/src/lib/invoice-generator.ts + backend/src/routes/forms.ts: String/Array-Normalisierung - backend/src/routes/invoices.ts: totalGuests nach Grouping berechnet - frontend/src/routes/app/events/[eventId]/+page.svelte: $effect-Teardown + 5s-Delay
fix(backend,frontend,e2e): optionale Formularpunkte in Rechnung, Polling-Korrekturen (#316 #317 #318)
All checks were successful
CI Backend / lint-backend (pull_request) Successful in 1m1s
CI Frontend / lint-frontend (pull_request) Successful in 1m26s
CI Meta / conventional-commit (pull_request) Successful in 1s
E2E / e2e (pull_request) Successful in 6m3s
CI Backend / test-backend (pull_request) Successful in 4m3s
CI Frontend / test-frontend (pull_request) Successful in 2m2s
0e02d08de8
refs #316, #317, #318

Aktuell:
- #316: Optionale Checkbox-Items fehlten in der Rechnung bei Single-Selection
- #317: Rechnungslauf-Polling wartete auf N+1 Rechnungen
- #318: Kein Polling-Interval zwischen API-Abfragen

Neu:
- #316: Backend deriveItems/calculateContribution normalisieren Strings -> Arrays.
  Frontend form-fields.svelte sendet __type__-Hidden mit Feldtyp.
  Server-Actions nutzen Feldtyp: checkbox=immer Array, radio=String.
  formatFormAnswers normalisiert checkbox-Strings -> Array (Altdaten).
- #317: totalGuests wird nach Household-Grouping berechnet
- #318: $effect-Teardown + initialer 5s-Delay + 5s-Interval im Polling
- E2E: Timeout von 30000 auf 35000 fuer initialen 5s-Delay
niboer merged commit 93e6244a03 into main 2026-07-20 19:42:11 +00:00
niboer deleted branch fix/invoice-optional-items-polling 2026-07-20 19:42:12 +00:00
Sign in to join this conversation.
No description provided.