Files
archivmail/features/INDEX.md
T
sysopsandClaude Sonnet 5 d1b4497893 fix(PROJ-79): next lint kaputt seit Next-16-Upgrade repariert + 30 Findings gefixt
npm run lint rief next lint auf, das es in Next.js 16 nicht mehr gibt —
seit dem Next-16-Upgrade lief effektiv gar kein Lint mehr. Umgestellt auf
eslint . mit Flat-Config (eslint.config.mjs statt .eslintrc.json). Der
dadurch wieder sichtbare Lint-Lauf zeigte 30 Findings (25 Fehler,
5 Warnungen), alle gefixt:

- 19x react-hooks/set-state-in-effect: Loading-States wo möglich als
  echte Ableitung statt eigenem Effect-State (use-mobile.tsx komplett auf
  useSyncExternalStore umgebaut), sonst async-Wrapper mit Cancel-Guard um
  bestehende Loader — Timing/Ladeanzeige unverändert.
- react-hooks/refs (useSearch.ts): Ref-Schreibzugriff aus dem Render in
  einen Effect verschoben.
- 4x no-html-link-for-pages: <a href> durch next/link ersetzt in
  admin/login, forgot-password, signup.
- Rest (exhaustive-deps, no-img-element, unused disable) einzeln gefixt.
- 4 bewusst belassene disable-Kommentare mit Begründung (shadcn/ui-Datei,
  QR-Code-data-URL, Full-Reload nach Auth laut Projektregel).

eslint-Major-Upgrade auf 10 selbst bleibt blockiert: eslint-plugin-react/
jsx-a11y/import unterstützen ESLint 10 in ihrer aktuellen Latest-Version
noch nicht (Crash beim Laden), siehe Feature-Spec PROJ-79.

Verifiziert auf 132 (Build-Sandbox, kein Live-Deploy): npm ci/tsc/lint/
build grün, 8 Kern-Routen per Standalone-Server auf HTTP 200 geprüft.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_019j28kGcaJAhBnrYX34hGdt
2026-08-05 21:14:17 +02:00

11 KiB
Raw Blame History

Feature Index

Central tracking for all features. Updated by skills automatically.

Status Legend

  • Planned - Requirements written, ready for development
  • In Progress - Currently being built
  • In Review - QA testing in progress
  • Deployed - Live in production

Features

ID Feature Status Spec Created
PROJ-1 Nutzer-Authentifizierung & Rollen (User/Admin) Deployed PROJ-1 2026-03-12
PROJ-2 E-Mail-Import: EML/MBOX Upload Deployed PROJ-2 2026-03-12
PROJ-3 E-Mail-Import: IMAP-Verbindung Deployed PROJ-3 2026-03-12
PROJ-4 E-Mail-Import: SMTP-Eingang via BCC (primär) Deployed PROJ-4 2026-03-12
PROJ-5 E-Mail-Speicherung & Volltext-Indexierung Deployed PROJ-5 2026-03-12
PROJ-6 Volltext-Suche & Filterung Deployed PROJ-6 2026-03-12
PROJ-7 E-Mail-Ansicht (Lesen & Anhänge) Deployed PROJ-7 2026-03-12
PROJ-8 Automatischer IMAP-Sync (Cron-Job) Deployed PROJ-8 2026-03-12
PROJ-9 Ordner- & Label-Verwaltung Removed PROJ-9 2026-03-12
PROJ-10 Admin-Bereich: Nutzer- & Postfachverwaltung Deployed PROJ-10 2026-03-12
PROJ-11 Audit-Log & Compliance-Berichte Deployed PROJ-11 2026-03-12
PROJ-12 E-Mail-Export (EML/PDF) Deployed PROJ-12 2026-03-12
PROJ-13 REST API für externe CRM-Anbindung Deployed PROJ-13 2026-03-13
PROJ-14 E-Mail-Import: POP3-Verbindung Deployed PROJ-14 2026-03-13
PROJ-15 CLI Import & Export (archivmail-User) Deployed PROJ-15 2026-03-13
PROJ-16 LDAP / Active Directory Anbindung Deployed PROJ-16 2026-03-13

| PROJ-17 | Admin Dashboard Systemauslastung & Archiv-Übersicht | Deployed | PROJ-17 | 2026-03-14 | | PROJ-18 | E-Mail Integritätsprüfung | Deployed | PROJ-18 | 2026-03-14 | | PROJ-19 | Mailpiler → archivmail Migrationstool | Deployed | PROJ-19 | 2026-03-17 | | PROJ-20 | Nutzer-Löschung & E-Mail-Verbleib (GoBD-konform) | Deployed | PROJ-20 | 2026-03-17 | | PROJ-21 | Multi-Mandanten-Fähigkeit (Multi-Tenancy) | Deployed | PROJ-21 | 2026-03-17 | | PROJ-22 | LDAP / AD Web-GUI Konfiguration & Test | Deployed | PROJ-22 | 2026-03-17 | | PROJ-23 | Pro-Mandant LDAP / Active Directory (Multi-Tenant Phase B) | Deployed | PROJ-23 | 2026-03-17 | | PROJ-24 | TOTP Zwei-Faktor-Authentifizierung (2FA) | Deployed | PROJ-24 | 2026-03-18 | | PROJ-25 | User-Profil & Einstellungen | Deployed | PROJ-25 | 2026-03-18 |

| PROJ-26 | IMAP-Server-Schnittstelle (Read-Only Archivzugriff) | Deployed | PROJ-26 | 2026-03-18 |

| PROJ-27 | Container-Ready (Dockerfile + Env-Vars) | In Review | PROJ-27 | 2026-03-28 | | PROJ-28 | Self-Service Onboarding (Sign-up, E-Mail-Verifikation, Passwort-Reset) | Deployed | PROJ-28 | 2026-03-28 | | PROJ-29 | Tenant-Quotas & Usage-Limits | Deployed | PROJ-29 | 2026-03-28 | | PROJ-30 | Volltext-Index: Xapian → Manticore Search Migration | Deployed | PROJ-30 | 2026-03-28 | | PROJ-31 | Billing & Subscriptions (Stripe) | Planned | PROJ-31 | 2026-03-28 |

| PROJ-32 | Message-ID-basierte Duplikatserkennung | Deployed | PROJ-32 | 2026-03-31 | | PROJ-33 | IMAP-Modus: Gemeinsames Archiv vs. Persönlicher Posteingang | Deployed | PROJ-33 | 2026-03-31 | | PROJ-34 | Retention-Policy + Löschsperre (GoBD-Compliance) | Deployed | PROJ-34 | 2026-03-31 |

| PROJ-35 | OCR & Anhang-Volltext-Indexierung | Deployed | PROJ-35 | 2026-04-04 | | PROJ-36 | gzip-Kompression + storage_objects-Tabelle | Deployed | PROJ-36 | 2026-04-05 | | PROJ-37 | Attachment-Deduplication (Hash-basiert) | Deployed | PROJ-37 | 2026-04-05 | | PROJ-38 | Mail-Threading (In-Reply-To / References) | Deployed | PROJ-38 | 2026-04-05 | | PROJ-39 | eDiscovery Export (ZIP + Metadaten-CSV) | Deployed | PROJ-39 | 2026-04-05 | | PROJ-40 | Prometheus Metriken + Health-Check | Deployed | PROJ-40 | 2026-04-05 | | PROJ-41 | Dashboard Zeitreihe + Speicherprognose | Deployed | PROJ-41 | 2026-04-05 | | PROJ-42 | Gespeicherte Suchanfragen | Deployed | PROJ-42 | 2026-04-05 | | PROJ-43 | Automatische Archivierungsregeln | Deployed | PROJ-43 | 2026-07-04 | | PROJ-44 | OCR-GUI-Integration (Status, Download, Such-Highlight) | Deployed | PROJ-44 | 2026-05-08 | | PROJ-45 | IMAP Per-Folder UID-Tracking + UIDVALIDITY-Check | Deployed | PROJ-45 | 2026-05-11 | | PROJ-46 | E-Mail als primärer Login-Identifier für Tenant-User | Deployed | PROJ-46 | 2026-07-04 | | PROJ-47 | Tenant-Voll-Export per CLI | Deployed | PROJ-47 | 2026-06-13 | | PROJ-48 | Audit-Log Unveränderbarkeit (Nachbesserung PROJ-11) | Deployed | PROJ-48 | 2026-06-13 | | PROJ-49 | Verschlüsselungspflicht at-rest (Healthcheck & Warnung) | Deployed | PROJ-49 | 2026-06-13 | | PROJ-50 | DSGVO-Löschersuchen für Mail-Inhalte (GoBD-Vorrang) | Deployed | PROJ-50 | 2026-06-13 | | PROJ-51 | Aufbewahrungsfristen nach Dokumentenart (Retention-Kategorien) | Deployed | PROJ-51 | 2026-06-13 | | PROJ-52 | Vollständigkeits-Reconciliation (Zähl-Report) | Deployed | PROJ-52 | 2026-07-04 | | PROJ-53 | Konfigurierbare Listenanzahl pro Seite | Deployed | PROJ-53 | 2026-06-14 | | PROJ-54 | Fix Listenansicht/Pagination für Rolle "user" (Nachbesserung PROJ-6/PROJ-21) | Deployed | PROJ-54 | 2026-06-14 | | PROJ-55 | Fix Tenant-Isolation für Rolle "auditor" + Audit-Log (Sicherheitsbug, DSGVO-relevant) | Deployed | PROJ-55 | 2026-06-21 | | PROJ-56 | Last-Entzerrung für Hintergrundjobs (OCR-Zeitfenster, IMAP-Sync-Jitter) | Deployed | PROJ-56 | 2026-06-22 | | PROJ-56c | Cron-gesteuerte Löschung abgelaufener + markierter Mails (GoBD-Retention-Purge) | Deployed | PROJ-56c | 2026-07-04 | | PROJ-57 | UTF-8-Encoding-Fix für Mails mit Nicht-UTF-8-Charset | Deployed | PROJ-57 | 2026-06-24 | | PROJ-58 | Indexierung + OCR als Cron-Batch-Jobs (statt Dauerbetrieb) | Deployed | PROJ-58 | 2026-06-24 | | PROJ-61 | Fix Cross-Tenant Stored XSS via Mandanten-Logo (Sicherheitsbug) | Deployed | PROJ-61 | 2026-06-25 | | PROJ-62 | Fix Cross-Tenant IDOR bei POP3-Konto-Löschung/-Import (Sicherheitsbug) | Deployed | PROJ-62 | 2026-06-25 | | PROJ-63 | Defensive Tenant-Scope-Härtung der Tenant-Verwaltungs-Endpunkte (FUND-2) | Deployed | PROJ-63 | 2026-06-25 | | PROJ-64 | Session-Invalidation bei Passwort-Change + Datei-Permissions-Härtung (Security-Audit) | Deployed | PROJ-64 | 2026-07-03 | | PROJ-65 | Physische Tenant-Trennung im Storage-Layer | Deployed | PROJ-65 | 2026-07-04 | | PROJ-66 | Backup-Strategie für Store, Keyfile, PostgreSQL (Produktiv + Teilproduktiv) | Deployed | PROJ-66 | 2026-07-04 | | PROJ-67 | Manticore Search Upgrade 25.0.0 → 27.1.5 + Auto-Upgrade-Pfad | Deployed | PROJ-67 | 2026-07-05 | | PROJ-68 | sudo-Provisionierung für Admin-Dienststeuerung fehlte komplett | Deployed | PROJ-68 | 2026-07-05 | | PROJ-69 | Admin-Dashboard Tab-Gruppierung (2-Ebenen-Navigation) | Deployed | PROJ-69 | 2026-07-06 | | PROJ-70 | User-Self-Service IMAP-Rückholung (Archiv-Mail zurück ins Postfach) | Deployed | PROJ-70 | 2026-07-07 | | PROJ-71 | TLS-Pflicht (optional) für eingehenden SMTP-BCC-Journaling-Kanal | Deployed | PROJ-71 | 2026-07-08 | | PROJ-72 | Fix Superadmin kann Passwort/Rolle von Superadmin-Peers nicht ändern (Sicherheitsbug) | Deployed | PROJ-72 | 2026-07-27 | | PROJ-73 | Restliche Crash-Härtung (Upload-Job-Status bei Panic, fehlende nil-Checks) | Deployed | PROJ-73 | 2026-08-05 | | PROJ-74 | Vorbestehende Test-/Vet-Signatur-Drift beheben (go vet/test wieder komplett grün) | Deployed | PROJ-74 | 2026-08-05 | | PROJ-75 | DB-Performance-Audit (Query-Index-Nutzung, Fan-out, pgxpool-Tuning) | Deployed | PROJ-75 | 2026-08-05 | | PROJ-76 | Mail-HTML-Sanitizing schließt CSS-url()/link/srcset nicht ein (Tracking-Pixel-Umgehung) | Deployed | PROJ-76 | 2026-08-05 | | PROJ-77 | Admin-Tab-Bundle-Optimierung (dynamic import statt 19 statische Imports) | Deployed | PROJ-77 | 2026-08-05 | | PROJ-78 | SearchResultsTable re-rendert bei jedem Tastenanschlag im Suchfeld | Deployed | PROJ-78 | 2026-08-05 | | PROJ-79 | Frontend-Dependency-Major-Upgrades (eslint, lucide-react, tailwindcss+tailwind-merge, typescript, @types/node) | In Progress | PROJ-79 | 2026-08-05 |

Next Available ID: PROJ-80