feat: add mail import detail events

This commit is contained in:
Christian Krakau-Louis
2026-05-22 20:06:51 +02:00
parent 5f416d042f
commit c1b81d3e06
13 changed files with 520 additions and 67 deletions
+2 -2
View File
@@ -28,6 +28,7 @@ Recently improved:
- Report/domain API reads can hydrate the dashboard projection from persisted data after restart.
- Mail source import history is visible in the Mail Sources UI.
- Individual mail sources can be manually imported from the Mail Sources UI.
- Import-history rows include sanitized per-attachment outcomes and imported report IDs.
- The current Alpine-based UI is allowed by CSP and renders dynamic tables in real browsers.
Implementation note:
@@ -38,9 +39,8 @@ Implementation note:
Objective: make mailbox imports auditable and make report totals trustworthy.
Priority tasks:
- Expand import attempts with message ID, source, attachment filename, outcome, and sanitized error details.
- Add mailbox search controls for date-range backfills.
- Report duplicate skips separately from parse failures.
- Add backfill controls for Gmail and IMAP sources.
- Improve source rollups so a source IP tracks pass/fail counts over time.
Quality bar:
+1 -1
View File
@@ -63,10 +63,10 @@ Recently delivered:
- Uploaded, Gmail-imported, and IMAP-imported reports are now persisted to report/record tables and can be reloaded into report/domain views.
- Mail source import history is now visible from the Mail Sources UI.
- A single mail source can be manually imported from the Mail Sources UI, with the result recorded in import history.
- Import history now includes per-attachment details for imported reports, duplicates, parse errors, unsupported attachments, and imported report IDs.
- The current Alpine-based UI can run under the configured CSP, so dynamic tables render in real browsers.
Next tasks:
- Add per-import result details: skipped duplicates, parse failures, unsupported attachments, and imported report IDs.
- Add mailbox search controls for date range/backfill without requiring code changes.
- Improve source aggregation so each sender IP keeps pass/fail totals instead of only the latest result.
+1
View File
@@ -92,6 +92,7 @@ This file tracks the specific implementation tasks for each milestone of the DMA
- [x] Count duplicate skips separately from parse failures
- [x] Show recent import history in the Mail Sources UI
- [x] Add manual import trigger per mail source
- [x] Add per-import result details for duplicates, parse failures, unsupported attachments, and imported report IDs
- [ ] Add retry/backfill controls per mail source
## Milestone 3: Database Integration