Files
nexarch/mail
patrickandClaude Sonnet 5 4e61badac5
CI / Web-Barrierefreiheitspruefung (axe, Tastatur, Reflow, Textabstaende) (push) Canceled after 0s
CI / Core-Modul (Build/Vet/Test) (push) Canceled after 0s
CI / DMS Security-Test-Gate (AC5, Merge-Gate) (push) Canceled after 0s
CI / Connect Security-Test-Gate (QA-01 AC4, Merge-Gate) (push) Canceled after 0s
CI / DMS-Modul Supply-Chain-Scan (govulncheck) (push) Canceled after 0s
CI / Web (dms-browser) (push) Canceled after 0s
CI / Web (pdf-viewer) (push) Canceled after 0s
CI / Web (shl) (push) Canceled after 0s
Supply-Chain-Scan (Go) / govulncheck (push) Canceled after 0s
Mail-Schnittstellen-Vertragstests / contract-tests (push) Canceled after 0s
Supply-Chain-Scan (npm) / npm-audit (push) Canceled after 0s
CI / DMS-Modul (Lint/Build/Test/Coverage/Artefakt) (push) Canceled after 0s
Merge PR #306: UX-02: E-Mail-Detailansicht & Thread-Darstellung (Mail, stackt auf PR #298 UX-01)
Groesster bisheriger Konflikt dieser Merge-Runde (4 Dateien, davon 2
add/add: MessageDetail.tsx/test.tsx existierten bereits als UX-04-
Platzhalter, UX-02 ersetzt sie durch die echte Implementierung mit
Thread-Gruppierung/Anhang-Download):

- mail/internal/mailapi/mailapi.go + openapi.yaml: beide Branches
  implementierten unabhaengig denselben Anhangslisten-Endpunkt
  (UX-03/UX-02), Kommentare zusammengefuehrt, keine Logikaenderung.
- mail/internal/mailapi/mailapi_test.go: dadurch doppelte Tests +
  doppelte realPDFBytes/realPNGBytes-Konstante automerged, die
  schwaechere Kopie entfernt (reichere Variante mit Size-Pruefung behalten).
- components/MessageDetail.tsx/test.tsx: UX-04-Platzhalter durch
  UX-02s vollstaendige Implementierung ersetzt (neue Props:
  messageId/messages/onSelectMessage/onClose statt message/onBack).
- components/MessageList.tsx/test.tsx: UX-02s natives <button>-Pattern
  (Tastaturaktivierbarkeit ohne eigene Keydown-Logik) uebernommen,
  Prop onSelect -> onSelectMessage umbenannt, Tests entsprechend
  angepasst (user-event fuer echte Enter-Taste-Simulation).
- app/page.tsx: UX-04s responsives Layout (Drawer/mobileView) als
  Grundlage behalten, UX-02s Detail-Wiring (messageId-State,
  MessageDetail-Props) eingebaut.
- lib/messages.ts: mail.detail.*-Schluessel fehlten auf Englisch,
  nachuebersetzt statt nur dupliziert.
- app/page.test.tsx: fetchMessageDetail/fetchAttachments mussten in
  allen Tests ein aufgeloestes Promise liefern (MessageDetail ruft sie
  jetzt immer bei Auswahl auf), nicht nur als Export existieren.

go build/vet sauber, go test ./internal/mailapi/...: alle gruen bis auf
den bereits vor diesem Merge auf main bestehenden Testfehler
(anhang_download_erfolg, siehe PR #298). npx vitest run: 82/82 Tests
gruen (web/mail-postfach), beides auf Testhost 131 verifiziert.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-10-19 12:50:22 +02:00
..