UX-02: E-Mail-Detailansicht & Thread-Darstellung (Mail, stackt auf PR #298 UX-01) #306
Closed
patrick
wants to merge 0 commits from
feature/ux-02-e-mail-detailansicht-thread-darstellung into main
pull from: feature/ux-02-e-mail-detailansicht-thread-darstellung
merge into: scripte:main
scripte:main
scripte:fix/ai-app-write-timeout
scripte:chore/migration-kanban-board
scripte:chore/connect-kanban-board
scripte:chore/workflow-kanban-board
scripte:chore/archive-kanban-board
scripte:chore/mail-kanban-board
scripte:chore/dms-kanban-board
scripte:chore/core-kanban-board
scripte:chore/ai-kanban-board
scripte:chore/ai-kanban-security-folgetickets
scripte:feat/ai-app-deployment
scripte:feat/ai-app-vorschlaege
scripte:feat/ai-cls09-herkunftsmarkierung
scripte:feat/ai-eng09-gemini
scripte:feat/ai-cls08-mehrsprachig
scripte:feat/ai-titel-korrespondent
scripte:feat/dms-backup-s3
scripte:feat/dms-s3-verdrahten
scripte:docs/alfresco-vergleich
scripte:refactor/common-batch-2
scripte:refactor/common-modul-pilot
scripte:fix/dms-httpharden-normalize
scripte:feature/shl-02-pagecontainer-dedup
scripte:test/dedup-fakekek-testutil
scripte:feature/nav-01-mail-postfach-registry-eintrag
scripte:feature/sec-08-09-rbac-cmis-audit
scripte:feature/shl-04-globale-modul-navigation
scripte:chore/mail-kanban-security-folgetickets
scripte:chore/dms-kanban-security-folgetickets
scripte:chore/core-kanban-security-folgetickets
scripte:chore/archive-kanban-security-folgetickets
scripte:chore/workflow-kanban-security-folgetickets
scripte:chore/connect-kanban-security-folgetickets
scripte:feature/qa-08-barrierefreiheits-audit-workflow
scripte:feature/tsk-04-aufgaben-oberflaeche-workflow
scripte:feature/qa-08-barrierefreiheits-audit-connect
scripte:feature/int-18-smtp-gateway-weiterleitung-an-feste-adresse-dms
scripte:docs/rollout-131-vorbereitung
scripte:feature/met-08-facturx-zugferd-szenarien-validator-dms
scripte:feature/qa-15-sicherheitspruefung-gesamtprojekt
scripte:fix/testrun-2026-09-21-dms
scripte:feature/cmp-07-dsgvo-loeschantrag-recht-auf-loeschung
scripte:feature/cmp-06-vier-augen-freigabe-fuer-loeschungen
scripte:feature/cmp-02-dsgvo-datenschutz-berichte
scripte:feature/ret-03-loeschworkflow-und-aufbewahrungssperre-legal-hold
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
E-Mail-Detailansicht & Thread-Darstellung fuer web/mail-postfach. Baut auf UX-01s offenem Branch auf (PR #298, noch nicht gemergt) - enthaelt daher UX-01s Commits mit.
Backend: neuer Endpunkt GET /api/v1/mail/messages/{messageID}/attachments (reiner Pass-through bestehender Storage-Funktionen). Frontend: Thread-Gruppierung ueber Betreff-Praefix-Normalisierung (keine RFC In-Reply-To/References Header in der Ingestion-Pipeline vorhanden, dokumentierte Systemgrenze), Navigation ohne Routenwechsel (Context-Erhalt strukturell statt nur konventionell).
Hinweis zu UX-03 (ebenfalls offener PR #297, separate App web/mail-search statt web/mail-postfach): keine Komponenten-Wiederverwendung moeglich/sinnvoll, eigene einfache Anhangsliste statt Vorschau gebaut. Beide Branches haben unabhaengig denselben Attachment-Listen-Endpunkt hinzugefuegt - muss bei Zusammenfuehrung auf main abgeglichen werden (im Pruefprotokoll dokumentiert).
AC1-3 real getestet (61/61 Frontend-Tests, 21/21 Go-Tests gruen), inkl. echtem Fixture-Prozess mit 3-teiligem Thread und 2 echten Anhaengen.
Siehe mail/docs/UX-02-PRUEFPROTOKOLL.md.
🤖 Generated with Claude Code
Backend-Grundlage fuer die Detailansicht: GET /messages/{id}/attachments (Index/ContentType/Size per Magic-Bytes, kein Dateiname -- der Ingestion-Pfad persistiert nirgends einen Originaldateinamen) ergaenzt die bestehende mailapi (bereits vorhandenes Detail-Endpoint liefert Subject/Body/Sender/Mailbox/SentAt bereits vollstaendig als Header-Basis). Unabhaengig von UX-03 (eigener offener Branch, anderes Frontend web/mail-search) mit gleicher Endpunktform implementiert, da UX-02 auf UX-01 aufsetzt, nicht auf UX-03 -- Integration/Merge-Konflikt ist Sache eines spaeteren Zusammenfuehr-Schritts, siehe UX-02-PRUEFPROTOKOLL.md. Fixture (mail/cmd/mailpostfach-fixture) um einen 3-teiligen Thread samt zwei echten Anhaengen erweitert, fuer den e2e-Test des Frontends gegen die echte Backend-API -- bestehende UX-01-Ordner/-Zaehlungen bleiben unveraendert gruen. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>Groesster Konflikt der Runde (add/add bei MessageDetail), manuell geloest, 82/82 Frontend-Tests + Go-Tests gruen, direkt in main gemergt und gepusht.
Pull request closed