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
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>