Files
archivmail/DEVLOG.md
T

78 KiB
Raw Blame History

archivmail Dev Log

2026-03-28 22:25 22:33 (8m)

Beschreibung: Claude Code Session Projekt: timemaster

Commits

Keine Commits in dieser Session.

Geänderte Dateien

  • internal/ldapauth/client.go | 152 ++++++++++++++++++++++++----
  • src/components/admin/tabs/LDAPTab.tsx | 23 ++++-
  • src/components/admin/tabs/TenantLDAPTab.tsx | 23 ++++-
  • src/lib/api/index.ts | 1 +
  • src/lib/api/ldap.ts | 8 ++

2026-03-31 01:07 01:16 (8m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • cb31c48 fix: version → AppVersion in cmd_import.go (Build-Fehler nach 0.9.1-Umbenennung)
  • 4f7a7d6 feat: App-Version 0.9.1 + Modulversionsnummern
  • 64433aa fix(SEC-29): Rollen-Trennung Admins/Auditoren, domain_auditor Rolle

Geänderte Dateien

  • cmd/archivmail/cmd_import.go | 2 +-

2026-03-31 01:27 01:30 (3m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • b6856af feat(PROJ-32): Message-ID-basierte Duplikatserkennung

Geänderte Dateien

  • cmd/archivmail/main.go | 7 +-
  • cmd/archivmail/version.go | 2 +-
  • config/config.go | 9 +-
  • features/INDEX.md | 5 +-
  • internal/api/retention_handlers.go | 18 ++++
  • internal/api/server.go | 3 +
  • internal/storage/storage.go | 173 +++++++++++++++++++++++++++++----
  • src/app/admin/page.tsx | 1 +
  • src/components/admin/tabs/UsersTab.tsx | 12 +++

2026-03-31 09:44 09:47 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 8d0f685 feat(PROJ-33): IMAP UID-Stabilität + Shared/Personal-Modus

Geänderte Dateien

  • cmd/archivmail/main.go | 2 +-
  • cmd/archivmail/version.go | 26 ++--
  • internal/api/imap_settings_handlers.go | 61 ++++++++++
  • internal/api/server.go | 4 +
  • internal/imapserver/server.go | 99 +++++++++------
  • internal/storage/storage.go | 88 ++++++++++++++
  • internal/tenantstore/store.go | 22 ++++
  • src/app/admin/page.tsx | 10 ++
  • src/components/admin/tabs/IMAPSettingsTab.tsx | 166 ++++++++++++++++++++++++++

2026-03-31 09:49 09:51 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 27040ff feat(PROJ-28): FQDN + smtp_out Konfiguration

Geänderte Dateien

  • cmd/archivmail/main.go | 5 +++++
  • cmd/archivmail/version.go | 4 ++--
  • config/config.go | 19 ++++++++++++++++---
  • internal/imapserver/server.go | 8 ++++++--
  • src/components/navbar.tsx | 42 ++++++++++++++++++++++++------------------

2026-03-31 09:54 10:05 (11m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 842640c fix: Superadmin wird direkt zu /admin weitergeleitet

Geänderte Dateien

  • src/app/page.tsx | 10 ++++++----
  • src/app/search/page.tsx | 9 ++++++++-

2026-03-31 10:16 10:18 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 5f0c7a7 feat(PROJ-27): Docker-Support + install.sh v2.0 (native + Docker-Modus)

Geänderte Dateien

  • .dockerignore | 30 ++
  • Dockerfile | 37 ++
  • Dockerfile.web | 31 ++
  • config/config.docker.yml.example | 57 +++
  • docker-compose.yml | 54 +++
  • features/INDEX.md | 8 +-
  • install.sh | 770 +++++++++++++++++++++++++++------------
  • scripts/deploy.sh | 31 ++
  • scripts/webhook-hooks.json | 32 ++

2026-03-31 10:30 10:37 (7m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 5bbf6d0 feat(PROJ-34): Retention-Tab + pro-Mandant Aufbewahrungsfristen

Geänderte Dateien

  • cmd/archivmail/main.go | 1 +
  • cmd/archivmail/version.go | 6 +-
  • internal/api/retention_handlers.go | 50 ++++++
  • internal/api/server.go | 14 +-
  • internal/storage/storage.go | 13 +-
  • internal/tenantstore/store.go | 44 ++++-
  • src/app/admin/page.tsx | 8 +
  • src/components/admin/tabs/RetentionTab.tsx | 279 +++++++++++++++++++++++++++++

2026-03-31 10:37 10:44 (6m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 58bcfb1 feat: Dashboard-Metriken nach Mailpiler-Vorbild (Uptime, Aktivität, Prognose)

Geänderte Dateien

  • cmd/archivmail/version.go | 2 +-
  • internal/api/dashboard_handlers.go | 33 +++++++++--
  • internal/storage/storage_stats.go | 88 ++++++++++++++++++++++++++++++
  • src/components/admin/tabs/DashboardTab.tsx | 88 +++++++++++++++++++++++++++++-
  • src/lib/api/index.ts | 2 +
  • src/lib/api/system.ts | 17 ++++++

2026-03-31 10:44 10:51 (7m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • ebc9e27 fix(PROJ-34): Mandanten-Retention ist Opt-in — kein globaler Lock für Mandanten
  • 4aadf7a fix: retention_handlers.go — getSession/audlog.Log-Signatur korrigiert

Geänderte Dateien

  • internal/storage/storage.go | 15 +++++++++------
  • src/components/admin/tabs/RetentionTab.tsx | 25 +++++++++----------------

2026-03-31 20:49 21:21 (32m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 7930b85 feat(PROJ-29): Tenant-Quotas & Usage-Limits

Geänderte Dateien

  • internal/api/quota_handlers.go | 119 ++++++++++++++++
  • internal/api/server.go | 5 +
  • internal/storage/quota.go | 94 +++++++++++++
  • internal/storage/storage.go | 7 +-
  • internal/tenantstore/quota.go | 73 ++++++++++
  • internal/tenantstore/store.go | 14 +-
  • src/app/admin/page.tsx | 7 +
  • src/components/admin/tabs/QuotaTab.tsx | 244 +++++++++++++++++++++++++++++++++
  • src/lib/api/index.ts | 3 +
  • src/lib/api/tenants.ts | 29 ++++

2026-03-31 21:23 21:54 (31m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 4583262 feat(PROJ-28): Self-Service Onboarding — Signup, Verify, Password Reset, Invites

Geänderte Dateien

  • cmd/archivmail/main.go | 24 ++++
  • internal/api/invite_handlers.go | 106 ++++++++++++++++
  • internal/api/onboarding_handlers.go | 234 ++++++++++++++++++++++++++++++++++++
  • internal/api/server.go | 28 +++++
  • internal/mailer/mailer.go | 152 +++++++++++++++++++++++
  • internal/mailer/templates.go | 65 ++++++++++
  • internal/tokenstore/store.go | 154 ++++++++++++++++++++++++
  • internal/userstore/userstore.go | 51 ++++++++
  • src/app/forgot-password/page.tsx | 88 ++++++++++++++
  • src/app/page.tsx | 8 ++
  • src/app/reset-password/page.tsx | 125 +++++++++++++++++++
  • src/app/signup/page.tsx | 134 +++++++++++++++++++++
  • src/app/verify/page.tsx | 63 ++++++++++

2026-03-31 22:00 22:00 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 7371a73 fix(SEC): Signup-Enumeration durch Always-Send-Email schließen

Geänderte Dateien

  • internal/api/onboarding_handlers.go | 14 ++++++++++++--
  • internal/mailer/templates.go | 18 ++++++++++++++++++

2026-03-31 22:30 22:40 (9m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • c1a9004 feat(PROJ-28): SMTP-Out Relay — DB-Konfiguration + Admin-Tab

Geänderte Dateien

  • cmd/archivmail/main.go | 23 +++
  • internal/api/server.go | 13 ++
  • internal/api/smtpout_handlers.go | 118 ++++++++++++
  • internal/mailer/mailer.go | 31 +++-
  • internal/smtpoutconfig/store.go | 205 ++++++++++++++++++++
  • src/app/admin/page.tsx | 7 +
  • src/components/admin/tabs/SMTPOutTab.tsx | 309 +++++++++++++++++++++++++++++++

2026-03-31 23:45 23:49 (4m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • acc0d93 feat: getrennte Login-Seiten für User (/), Admins (/admin/login)

Geänderte Dateien

  • src/app/admin/login/page.tsx | 104 +++++++++++++++++++++++++++++++++++++++++++
  • src/app/admin/page.tsx | 2 +-
  • src/app/page.tsx | 12 +++--
  • src/hooks/useAuth.ts | 6 +--

2026-03-31 23:54 23:56 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • d7b0150 fix(ui): Mandanten-Tabelle — Slug unter Name, LDAP-Host anzeigen, Slug-Spalte entfernt

Geänderte Dateien

  • src/components/admin/tabs/TenantsTab.tsx | 16 ++++++++++++----

2026-04-01 00:02 00:23 (24h 21m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • d01df2a fix: Debug-Logging entfernt, tenant_domains auf 132 wiederhergestellt
  • caac522 debug: erweitertes LDAP-Logging (upsert + success)
  • 5c3a9b5 debug: temporäres LDAP-Logging für Fehlerdiagnose

Geänderte Dateien

  • internal/auth/auth.go | 15 +--------------

2026-04-02 00:37 00:42 (4m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • e90d588 fix: UpsertLDAPUser — email-basierter Match vor Insert

Geänderte Dateien

  • internal/userstore/userstore.go | 22 +++++++++++++++++++++-

2026-04-03 21:00 21:29 (28m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 7efccda chore: Manticore als Standard — Xapian-Referenzen entfernt
  • b568c73 fix(PROJ-30): Stemmer stem_de → lemmatize_de_all (Manticore 25.0.0 MySQL-Protokoll)
  • 825e4db fix(PROJ-30): ListFolders — c.Client statt c uebergeben (imap.Conn vs *imapclient.Client)
  • 0969f76 fix(PROJ-30): imapclient.New — Rueckgabewert an go-imap/v2 beta.8 API anpassen
  • a93a843 feat(PROJ-30): Xapian → Manticore Search Migration

Geänderte Dateien

  • .claude/agents/mailarchiv-architect.md | 313 +++++++++++++++++++++++++++++++++
  • .claude/agents/manticore-admin.md | 113 ++++++++++++
  • CLAUDE.md | 14 +-

2026-04-03 21:34 21:37 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 36d8db1 chore: go.sum für go-sql-driver/mysql aktualisiert

Geänderte Dateien

  • go.mod | 5 +++--
  • go.sum | 27 ++++++++++++++++++++++-----

2026-04-04 01:34 01:41 (7m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • ecd5ed3 fix(PROJ-30): cmd import-piler — Manticore-Backend support
  • 44bff14 fix(PROJ-30): cmd import — Manticore-Backend support (wie cmd_reindex)

Geänderte Dateien

  • cmd/archivmail/cmd_import_piler.go | 30 +++++++++++++++++++++++-------

2026-04-04 01:45 01:49 (3m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • ab7d6ad fix: Datumsparser — mehr RFC-2822-Varianten, kein time.Now() Fallback

Geänderte Dateien

  • internal/storage/storage.go | 12 ++++++++++--
  • pkg/mailparser/parser.go | 31 +++++++++++++++++++++++++++++--

2026-04-04 01:53 01:54 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 896f8dc chore: PROJ-29 + PROJ-30 als Deployed markiert

Geänderte Dateien

  • features/INDEX.md | 2 +-
  • features/PROJ-30-bleve-migration.md | 132 ++++++++++++++++++++++++++++++++++++

2026-04-04 02:01 02:04 (3m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • e1f25f2 fix(security): emailsFromHeader fail-closed, domain_auditor-Block, Manticore-Tabellenvalidierung

Geänderte Dateien

  • internal/api/search_handlers.go | 23 +++++++++++++----------
  • internal/index/manticore.go | 17 +++++++++++++++--

2026-04-04 02:05 02:06 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 7e1e58e feat(PROJ-35): Spec — OCR & Anhang-Volltext-Indexierung

Geänderte Dateien

  • features/INDEX.md | 2 +
  • features/PROJ-35-ocr-anhang-volltext.md | 159 ++++++++++++++++++++++++++++++++

2026-04-04 02:07 10:44 (8h 37m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • c8ab4af chore: PROJ-9 als Deployed markiert
  • 0307521 fix(PROJ-9): Superadmin-Tenant-NULL, GET admin/labels, from_domain-Allowlist

Geänderte Dateien

  • features/INDEX.md | 2 +-
  • features/PROJ-9-ordner-und-labels.md | 4 ++--

2026-04-04 19:31 19:37 (6m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 994e5d1 feat: auditor sieht Mails ohne Tenant-Zuordnung

Geänderte Dateien

  • internal/api/export.go | 41 +++++++++++++++++++++----
  • internal/api/search_handlers.go | 67 +++++++++++++++++++++++++++++++++++------
  • internal/storage/storage.go | 49 ++++++++++++++++++++++++++++++

2026-04-04 19:49 19:51 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 48cfb7c fix: auditor immer globalen Index nutzen, tenant_id ignorieren

Geänderte Dateien

  • internal/api/search_handlers.go | 6 ++++--

2026-04-04 20:41 20:43 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • bde2919 fix: Manticore als Standard-Backend, Xapian-Cleanup in update.sh

Geänderte Dateien

  • cmd/archivmail/main.go | 2 +-
  • internal/index/index.go | 5 +++--
  • update.sh | 6 ++++++

2026-04-04 20:45 21:00 (14m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 2900187 chore: Xapian/Bleve-Reste aus install.sh, setup.sh und smoke_test.sh entfernen

Geänderte Dateien

  • install.sh | 51 +++++++++++++++++++++++++++++++++------------------
  • setup.sh | 11 +++++------
  • smoke_test.sh | 6 +++---

2026-04-04 21:00 21:00 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 23dbab1 chore: überflüssigen REPO_URL-Guard im Docker-Installer entfernen

Geänderte Dateien

  • install.sh | 6 ------

2026-04-04 21:11 21:13 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 0db2324 fix(ui): Label-Sidebar für auditor/domain_auditor ausblenden

Geänderte Dateien

  • src/app/search/page.tsx | 4 +++-

2026-04-04 21:11 21:13 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 0db2324 fix(ui): Label-Sidebar für auditor/domain_auditor ausblenden

Geänderte Dateien

  • src/app/search/page.tsx | 4 +++-

2026-04-04 21:16 21:17 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 4d1bdb6 fix(ui): rollenbasierte Navigation + domain_auditor-Support

Geänderte Dateien

  • src/components/UserNav.tsx | 19 +++++++++++++++----
  • src/components/navbar.tsx | 6 +++---
  • src/hooks/useAuth.ts | 5 +++--

2026-04-04 21:24 21:32 (7m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • fdb25cb feat: Labels-Feature vollständig entfernen (PROJ-9)

Geänderte Dateien

  • cmd/archivmail/main.go | 12 +-
  • cmd/archivmail/version.go | 3 +-
  • features/INDEX.md | 2 +-
  • features/PROJ-9-ordner-und-labels.md | 2 +-
  • internal/api/label_handlers.go | 445 --------------------------------
  • internal/api/search_handlers.go | 41 ---
  • internal/api/server.go | 2 -
  • internal/imapserver/server.go | 52 +---
  • internal/index/index.go | 1 -
  • internal/labelstore/store.go | 376 ---------------------------
  • src/app/admin/page.tsx | 132 ----------
  • src/app/mail/[id]/page.tsx | 29 ---
  • src/app/search/page.tsx | 22 +-
  • src/components/LabelList.tsx | 308 ----------------------
  • src/components/LabelPicker.tsx | 141 ----------
  • src/components/admin/tabs/LabelsTab.tsx | 282 --------------------
  • src/lib/api/index.ts | 15 --
  • src/lib/api/mail.ts | 2 -
  • src/lib/api/system.ts | 93 -------

2026-04-05 01:19 01:22 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 27d45f5 feat(PROJ-36,PROJ-37): gzip-Kompression + Attachment-Deduplication

Geänderte Dateien

  • cmd/archivmail/cmd_export.go | 7 ++-
  • cmd/archivmail/cmd_import.go | 7 ++-
  • cmd/archivmail/cmd_import_piler.go | 7 ++-
  • cmd/archivmail/cmd_reindex.go | 7 ++-
  • cmd/archivmail/main.go | 9 +--
  • config/config.go | 2 +-
  • features/INDEX.md | 4 +-
  • internal/storage/attachments.go | 109 ++++++++++++++++++++++++++++++++++
  • internal/storage/compress.go | 56 ++++++++++++++++++
  • internal/storage/storage.go | 116 ++++++++++++++++++++++++++++---------

2026-04-05 01:28 01:36 (7m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 956b5b6 feat(PROJ-36): archivmail recompress — Nachkomprimierung bestehender Mails

Geänderte Dateien

  • cmd/archivmail/cmd_import.go | 5 ++
  • cmd/archivmail/cmd_recompress.go | 62 ++++++++++++++
  • cmd/archivmail/main.go | 3 +
  • internal/storage/recompress.go | 180 +++++++++++++++++++++++++++++++++++++++

2026-04-05 20:01 20:20 (19m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 887548a fix(PROJ-38): getThread + ThreadMail/ThreadResponse in api/index.ts re-exportieren
  • b252172 feat(PROJ-26,PROJ-38): IMAP LDAP-Auth + Mail-Threading

Geänderte Dateien

  • src/lib/api/index.ts | 3 +++

2026-04-05 20:27 20:38 (11m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 2bab612 chore: Modulname github.com/archivmail → archivmail
  • eb48081 feat(PROJ-38): rethread — rückwirkendes Mail-Threading

Geänderte Dateien

  • cmd/archivmail-export/main.go | 6 +++---
  • cmd/archivmail-import/main.go | 8 ++++----
  • cmd/archivmail/cmd_export.go | 8 ++++----
  • cmd/archivmail/cmd_import.go | 8 ++++----
  • cmd/archivmail/cmd_import_piler.go | 6 +++---
  • cmd/archivmail/cmd_migrate_tenants.go | 4 ++--
  • cmd/archivmail/cmd_recompress.go | 4 ++--
  • cmd/archivmail/cmd_reindex.go | 8 ++++----
  • cmd/archivmail/cmd_rethread.go | 4 ++--
  • cmd/archivmail/main.go | 34 +++++++++++++++++-----------------
  • go.mod | 2 +-
  • internal/api/admin_handlers.go | 6 +++---
  • internal/api/api_test.go | 14 +++++++-------
  • internal/api/auth_handlers.go | 2 +-
  • internal/api/dashboard_handlers.go | 6 +++---
  • internal/api/export.go | 6 +++---
  • internal/api/imap_settings_handlers.go | 2 +-
  • internal/api/import_handlers.go | 8 ++++----
  • internal/api/invite_handlers.go | 8 ++++----
  • internal/api/ldap_sync.go | 6 +++---
  • internal/api/ldap_tenants.go | 10 +++++-----
  • internal/api/onboarding_handlers.go | 8 ++++----
  • internal/api/profile_handlers.go | 2 +-
  • internal/api/quota_handlers.go | 6 +++---
  • internal/api/retention_handlers.go | 2 +-
  • internal/api/search_handlers.go | 8 ++++----
  • internal/api/server.go | 28 ++++++++++++++--------------
  • internal/api/smtpout_handlers.go | 6 +++---
  • internal/api/thread_handlers.go | 4 ++--
  • internal/api/totp_handlers.go | 4 ++--
  • internal/api/upload.go | 4 ++--
  • internal/audit/audit_test.go | 2 +-
  • internal/auth/auth.go | 6 +++---
  • internal/auth/auth_test.go | 4 ++--
  • internal/imap/importer.go | 6 +++---
  • internal/imapserver/server.go | 12 ++++++------
  • internal/index/index_test.go | 2 +-
  • internal/mailer/mailer.go | 2 +-
  • internal/pop3/importer.go | 6 +++---
  • internal/smtpd/smtpd.go | 4 ++--
  • internal/storage/attachments.go | 2 +-
  • internal/storage/rethread.go | 2 +-
  • internal/storage/storage.go | 2 +-
  • internal/storage/storage_test.go | 2 +-
  • internal/userstore/userstore_test.go | 2 +-
  • pkg/mailparser/parser_test.go | 2 +-

2026-04-05 20:49 20:58 (8m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 4f366a3 fix(PROJ-39): exportEDiscovery in api/index.ts re-exportieren
  • 963a324 fix(PROJ-39): sanitizeFilename-Konflikt beheben — in ediscovery.go umbenannt
  • a82e854 feat(PROJ-39): eDiscovery Export + Feature-Specs PROJ-4043

Geänderte Dateien

  • src/lib/api/index.ts | 1 +

2026-04-05 21:02 21:12 (9m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 9298216 feat(PROJ-40,PROJ-41): Prometheus Metriken + Dashboard Zeitreihe

Geänderte Dateien

  • cmd/archivmail/main.go | 1 +
  • config/config.go | 7 +++
  • internal/api/dashboard_handlers.go | 26 +++++++++
  • internal/api/metrics_handlers.go | 92 ++++++++++++++++++++++++++++++
  • internal/api/server.go | 30 ++++++----
  • internal/storage/storage.go | 15 +++++
  • internal/storage/storage_stats.go | 67 ++++++++++++++++++++++
  • src/app/admin/page.tsx | 8 ++-
  • src/components/admin/tabs/DashboardTab.tsx | 59 ++++++++++++++++++-
  • src/lib/api/index.ts | 2 +
  • src/lib/api/system.ts | 9 +++

2026-04-06 10:53 10:54 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 3b05e94 feat(PROJ-13,PROJ-42): REST API v1 + Gespeicherte Suchanfragen

Geänderte Dateien

  • .claude/agents/mailarchiv-architect.md | 345 +++++++++++----------------------
  • .claude/agents/manticore-admin.md | 59 ++++--
  • CLAUDE.md | 4 +-
  • features/INDEX.md | 8 +-
  • internal/api/apikey_handlers.go | 198 +++++++++++++++++++
  • internal/api/saved_search_handlers.go | 131 +++++++++++++
  • internal/api/server.go | 22 +++
  • internal/api/v1_handlers.go | 309 +++++++++++++++++++++++++++++
  • internal/auth/apikey_middleware.go | 181 +++++++++++++++++
  • internal/storage/apikeys.go | 47 +++++
  • internal/storage/saved_searches.go | 76 ++++++++
  • internal/storage/storage.go | 56 ++++++
  • src/app/search/page.tsx | 180 ++++++++++++++++-
  • src/lib/api/index.ts | 7 +
  • src/lib/api/saved_searches.ts | 28 +++

2026-04-06 11:04 11:09 (4m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 2a91f6e fix: IMAP-Serveradresse dynamisch aus Backend laden

Geänderte Dateien

  • internal/api/server.go | 1 +
  • internal/api/system_info_handler.go | 18 ++++++++++++++++
  • src/app/settings/page.tsx | 43 +++++++++++++++++++++++++++++++++----
  • src/lib/api/index.ts | 2 ++
  • src/lib/api/system.ts | 10 +++++++++

2026-05-08 22:07 22:36 (29m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 6d835ae fix(PROJ-35): OCR Tempdir auf storage_dir umleiten
  • a252ad6 fix(PROJ-35): OCR Boot-Resume drosselt nach Queue-Kapazitaet
  • 0bda210 feat(PROJ-35): OCR & Anhang-Volltext-Indexierung

Geänderte Dateien

  • cmd/archivmail/cmd_ocr_reprocess.go | 2 ++
  • cmd/archivmail/main.go | 3 +++
  • internal/ocr/ocr.go | 23 +++++++++++++++++++++--

2026-05-08 22:37 22:54 (16m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • d71d20d fix(PROJ-35): hashMailID maskiert Top-Bit für positive int64
  • 7ba677e fix(PROJ-35): hashMailID liefert int64 statt uint64

Geänderte Dateien

  • internal/index/manticore.go | 20 ++++++++++----------

2026-05-08 23:07 23:11 (3m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 88e9d0c docs(PROJ-35): Status auf Deployed + Bekannte Pitfalls dokumentiert

Geänderte Dateien

  • features/INDEX.md | 2 +-
  • features/PROJ-35-ocr-anhang-volltext.md | 45 +++++++++++++++++++++++----------

2026-05-10 22:19 22:21 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • a44fd1a feat(PROJ-44): ocr_status/ocr_chars in MailDetail + v1 API
  • 62a130d feat(PROJ-44): GET /api/mails/{id}/ocr-text + Audit-Event
  • 7b75433 feat(PROJ-44): Snippet + match_field fuer Suche, GetAttachmentText
  • 5078830 feat(PROJ-44): ocr_chars-Spalte + SetOCRResult-Helper

Geänderte Dateien

  • internal/api/search_handlers.go | 11 +++++++++++
  • internal/api/v1_handlers.go | 8 ++++++++

2026-05-10 22:21 23:02 (40m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 5e1a51b fix(PROJ-44): SNIPPET via SELECT statt CALL SNIPPETS (Go MySQL-Treiber-Kompatibilitaet)
  • bb71ef2 fix(PROJ-44): snippet + match_field in enrichedHit-Struct und JSON-Response verdrahten
  • a4fe2c6 fix(PROJ-44): CALL SNIPPETS entfernt Options-Args (Manticore 25 akzeptiert exakt 3)
  • 032892b fix(PROJ-44): IMAP+POP3 Live-Import triggert OCR-Worker

Geänderte Dateien

  • internal/index/manticore_snippet.go | 14 ++++++--------

2026-05-10 23:04 23:14 (9m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 16013e8 fix(PROJ-44): OCR-Tenant-Routing nutzt kanonische DB-tenant_id

Geänderte Dateien

  • internal/api/ocr_handlers.go | 17 ++++++++++++-----
  • internal/ocr/worker.go | 19 ++++++++++++++++---

2026-05-11 10:48 10:54 (5m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 4151b6f feat(PROJ-45): IMAP Per-Folder UID-Tracking + UIDVALIDITY-Check

Geänderte Dateien

  • cmd/archivmail/main.go | 1 +
  • internal/imap/folder_state.go | 122 ++++++++++++++++++++++++++++++++++
  • internal/imap/folder_state_test.go | 82 +++++++++++++++++++++++
  • internal/imap/scheduler.go | 130 ++++++++++++++++++++++++++++++++-----
  • internal/imap/store.go | 19 ++++++

2026-05-11 13:32 14:56 (1h 24m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 726dd78 fix(PROJ-4): SMTP tenant routing: header fallback for BCC journaling
  • 799c828 feat(PROJ-45): IMAP per-folder UID-tracking, UIDVALIDITY-check + reindex OCR protection

Geänderte Dateien

  • internal/smtpd/smtpd.go | 56 ++++++++++++++++++++++++++++++++++++++++++++++---

2026-05-11 20:36 20:46 (10m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 1f7e02d fix(build): turbopack.root explizit setzen, verhindert Warning bei multiplen lockfiles
  • 33539d2 fix(ui): Uhrzeit in Datumsspalte der Suchergebnisse anzeigen

Geänderte Dateien

  • next.config.ts | 3 +++

2026-05-11 23:31 23:50 (19m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 8d950b4 fix(mailparser): Deutsche Wochentagsabkürzungen im Date-Header parsen
  • a1c4e59 fix: Date-Parsing-Fallback für nicht-standard MTA-Datumsformate

Geänderte Dateien

  • pkg/mailparser/parser.go | 24 ++++++++++++++++++++++++

2026-05-28 23:55 23:55 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • fa9f777 fix(sec): Authorization-Bypässe und Path-Traversal schließen, Xapian-Doku bereinigen

Geänderte Dateien

  • README.md | 48 ++++++++++++++++++++-----------------------
  • config.test.yml | 4 ++--
  • internal/api/cert_handlers.go | 7 +++++++
  • internal/api/server.go | 4 ++--
  • internal/api/v1_handlers.go | 13 ++++++------

2026-05-29 18:02 18:07 (4m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 15a5da3 feat(PROJ-13): OpenAPI 3.0 Spec + GET /api/v1/docs Endpoint

Geänderte Dateien

  • features/INDEX.md | 2 +-
  • features/PROJ-44-ocr-gui-integration.md | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/api/openapi.yaml | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/api/server.go | 1 +
  • internal/api/v1_docs_handler.go | 17 ++++++++++

2026-05-29 18:16 18:23 (6m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • f32f83f fix(PROJ-28): Invite-Token Pflicht bei Signup — TOCTOU + Enumeration-Leak schließen

Geänderte Dateien

  • internal/api/onboarding_handlers.go | 77 +++++++++++++++++++++++++++++++++++++++++++++--------------------------------
  • src/app/signup/page.tsx | 26 +++++++++++++++++++-------

2026-06-12 20:59 21:26 (26m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • a3bab16 fix(imap): IMAP/POP3-Import in korrekten Tenant-Index schreiben

Geänderte Dateien

  • cmd/archivmail/main.go | 4 ++--
  • internal/imap/importer.go | 9 +++++----
  • internal/pop3/importer.go | 9 +++++----

2026-06-12 22:08 22:12 (4m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • f82e3eb feat: Admin-/Auditor-Login-Link auf Startseite

Geänderte Dateien

  • src/app/page.tsx | 3 +++

2026-06-12 22:33 22:41 (8m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • d07e650 fix(tenants): NULL-Scan-Fehler in tenantstore.List() beheben

Geänderte Dateien

  • internal/tenantstore/store.go | 4 ++--

2026-06-12 23:22 23:26 (4m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 730099d fix(sec): Cross-Tenant-IDOR bei IMAP-Konten schließen

Geänderte Dateien

  • internal/api/import_handlers.go | 34 +++++++++++++++++++++++++++++++++-
  • internal/imap/store.go | 19 ++++++++++++-------

2026-06-12 23:29 23:32 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 501ee8f fix(sec): Cross-Tenant-IDOR bei POP3-Konten schließen

Geänderte Dateien

  • internal/api/import_handlers.go | 7 ++++++-
  • internal/pop3/store.go | 25 ++++++++++++++++---------

2026-06-12 23:43 23:45 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 0ecde0c feat(cli): archivmail update — Wrapper für update.sh

Geänderte Dateien

  • cmd/archivmail/cmd_import.go | 1 +
  • cmd/archivmail/cmd_update.go | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/archivmail/main.go | 3 +++

2026-06-12 23:55 00:01 (5m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • bc82854 feat: archivmail status CLI mit Healthcheck für PostgreSQL, Manticore und Storage

Geänderte Dateien

  • cmd/archivmail/cmd_import.go | 5 +++++
  • cmd/archivmail/cmd_status.go | 186 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/archivmail/main.go | 3 +++

2026-06-13 13:17 13:19 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • cca27c6 feat: mobile Responsiveness für Suche und Mail-Detailansicht

Geänderte Dateien

  • features/INDEX.md | 4 ++--
  • src/app/mail/[id]/page.tsx | 7 ++++---
  • src/app/search/page.tsx | 32 +++++++++++++++++++-------------

2026-06-13 19:17 19:51 (33m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 7e41759 feat(PROJ-48): Audit-Log Unveränderbarkeit (Trigger, append-only Logfile, Healthcheck)

Geänderte Dateien

  • cmd/archivmail/cmd_status.go | 23 ++++++++++++++++
  • cmd/archivmail/main.go | 2 +-
  • config.test.yml | 6 ++++
  • config/config.go | 14 ++++++++++
  • features/INDEX.md | 9 +++++-
  • internal/audit/audit.go | 150 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------
  • internal/audit/audit_test.go | 133 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2026-06-13 19:51 19:55 (3m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • dc9e11f chore(PROJ-48): Status auf Deployed setzen

Geänderte Dateien

  • features/INDEX.md | 2 +-

2026-06-13 19:55 20:11 (16m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • e1ed4e5 chore(PROJ-49): Status auf Deployed setzen
  • 46096db feat(PROJ-49): Verschlüsselungspflicht at-rest sichtbar machen (Healthcheck & Warnung)

Geänderte Dateien

  • features/INDEX.md | 2 +-

2026-06-13 20:12 20:19 (6m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 7c08ebe docs(PROJ-51): Tech Design für Retention-Kategorien (inkl. minimaler PROJ-43-Basis)

Geänderte Dateien

  • features/INDEX.md | 2 +-

2026-06-13 20:46 20:52 (6m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 507dee6 feat(PROJ-51): Aufbewahrungsfristen nach Dokumentenart (Retention-Kategorien)

Geänderte Dateien

  • cmd/archivmail/cmd_status.go | 36 ++++++++
  • cmd/archivmail/main.go | 11 ++-
  • config/config.docker.yml.example | 5 ++
  • config/config.go | 5 +-
  • features/INDEX.md | 2 +-
  • internal/api/archiving_rules_handlers.go | 137 +++++++++++++++++++++++++++++++
  • internal/api/search_handlers.go | 14 ++++
  • internal/api/server.go | 5 ++
  • internal/storage/retention_rules.go | 379 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/storage/storage.go | 27 +++---
  • src/app/admin/page.tsx | 7 ++
  • src/app/mail/[id]/page.tsx | 31 +++++++
  • src/components/admin/tabs/ArchivingRulesTab.tsx | 459 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • src/lib/api/archiving_rules.ts | 61 ++++++++++++++
  • src/lib/api/index.ts | 13 +++
  • src/lib/api/mail.ts | 4 +

2026-06-13 20:52 21:09 (16m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 7ac0391 fix(PROJ-51): retain_until_source nicht für Endbenutzer, WARN-Status in CLI

Geänderte Dateien

  • cmd/archivmail/cmd_status.go | 5 +++++
  • internal/api/search_handlers.go | 4 +++-

2026-06-13 21:10 21:12 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • a87d2c8 docs(PROJ-51): Status auf Deployed setzen

Geänderte Dateien

  • features/INDEX.md | 2 +-

2026-06-13 21:38 21:41 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 1c52181 docs(PROJ-50): Tech Design für DSGVO-Löschersuchen für Mail-Inhalte

Geänderte Dateien

  • features/INDEX.md | 2 +-

2026-06-13 22:00 22:01 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • b73ef55 fix: archivmail.service benötigt CAP_NET_ADMIN für Firewall-Aktivierung

Geänderte Dateien

  • install.sh | 5 +++--

2026-06-14 22:13 22:32 (18m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 4c20a00 fix(PROJ-53): TypeScript-Build-Fehler durch fehlendes list_page_size in LoginResponse
  • 472ba6a feat(PROJ-53): Konfigurierbare Listenanzahl pro Seite

Geänderte Dateien

  • src/app/admin/login/page.tsx | 2 +-
  • src/app/page.tsx | 2 +-
  • src/lib/api/users.ts | 1 +

2026-06-14 22:52 23:01 (9m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 776dee8 fix(PROJ-54): Listenansicht/Pagination für Rolle "user" korrigieren

Geänderte Dateien

  • features/INDEX.md | 3 ++-
  • internal/api/search_handlers.go | 34 ++++++++++++++--------------------

2026-06-14 23:12 23:12 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 62693fa chore: npm audit fix — Dependency-Updates für picomatch/Next.js-Advisories

Geänderte Dateien

  • package-lock.json | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------------------------------------

2026-06-14 23:26 23:27 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 4a8b896 docs(PROJ-53, PROJ-54): Status auf Deployed setzen

Geänderte Dateien

  • features/INDEX.md | 4 ++--
  • features/PROJ-53-konfigurierbare-listenanzahl.md | 110 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • features/PROJ-54-fix-listenansicht-total.md | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2026-06-21 21:48 22:39 (50m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 92e5743 fix(PROJ-55): Tenant-Isolation für Rolle "auditor" + Audit-Log korrigieren

Geänderte Dateien

  • features/INDEX.md | 3 +-
  • features/PROJ-55-fix-auditor-tenant-isolation.md | 308 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/api/admin_handlers.go | 5 ++
  • internal/api/apikey_handlers.go | 2 +
  • internal/api/archiving_rules_handlers.go | 1 +
  • internal/api/auth_handlers.go | 3 +
  • internal/api/dashboard_handlers.go | 15 +++-
  • internal/api/dsgvo_handlers.go | 3 +
  • internal/api/ediscovery.go | 39 +++++++++-
  • internal/api/export.go | 14 +++-
  • internal/api/imap_settings_handlers.go | 1 +
  • internal/api/invite_handlers.go | 1 +
  • internal/api/ldap_sync.go | 2 +
  • internal/api/ldap_tenants.go | 14 ++++
  • internal/api/ocr_handlers.go | 7 +-
  • internal/api/onboarding_handlers.go | 3 +
  • internal/api/profile_handlers.go | 2 +
  • internal/api/quota_handlers.go | 1 +
  • internal/api/retention_handlers.go | 1 +
  • internal/api/saved_search_handlers.go | 2 +
  • internal/api/search_handlers.go | 45 ++++++++---
  • internal/api/smtpout_handlers.go | 2 +
  • internal/api/thread_handlers.go | 23 ++++++
  • internal/api/totp_handlers.go | 4 +
  • internal/api/v1_handlers.go | 12 +++
  • internal/audit/audit.go | 38 ++++++++-
  • internal/imap/scheduler.go | 1 +
  • internal/imapserver/server.go | 1 +

2026-06-21 22:43 22:47 (3m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • f55a40c chore: Manticore-Reindex aus update.sh entfernen

Geänderte Dateien

  • update.sh | 24 +++++-------------------

2026-06-21 22:57 22:59 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • d80a5d8 chore: echten HTTP-Health-Check statt nur systemd-Status in update.sh

Geänderte Dateien

  • update.sh | 22 +++++++++++++++++++---

2026-06-21 23:16 23:41 (24m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 1d27dc2 refactor: große API-Handler-Dateien in fokussierte Module aufteilen
  • 6d3ca7f chore: ungenutzten Frontend-Code entfernen

Geänderte Dateien

  • internal/api/admin_handlers.go | 702 ---------------------------------------------------
  • internal/api/admin_security_handlers.go | 240 ++++++++++++++++++
  • internal/api/admin_services_handlers.go | 170 +++++++++++++
  • internal/api/admin_status_handlers.go | 58 +++++
  • internal/api/admin_users_handlers.go | 260 +++++++++++++++++++
  • internal/api/{import_handlers.go => imap_handlers.go} | 242 ------------------
  • internal/api/import_helpers.go | 16 ++
  • internal/api/ldap_handlers.go | 439 ++++++++++++++++++++++++++++++++
  • internal/api/ldap_tenants.go | 924 --------------------------------------------------------------------
  • internal/api/pop3_handlers.go | 243 ++++++++++++++++++
  • internal/api/tenant_domain_handlers.go | 78 ++++++
  • internal/api/tenant_handlers.go | 216 ++++++++++++++++
  • internal/api/tenant_helpers.go | 23 ++
  • internal/api/tenant_logo_handlers.go | 205 +++++++++++++++

2026-06-21 23:41 00:10 (29m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • ef83174 docs(PROJ-55): Live-Verifikation auf 132 dokumentieren

Geänderte Dateien

  • features/PROJ-55-fix-auditor-tenant-isolation.md | 15 +++++++++++++--

2026-06-22 00:11 00:13 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • ce197a3 docs(PROJ-55): Status auf Deployed setzen

Geänderte Dateien

  • features/INDEX.md | 2 +-
  • features/PROJ-55-fix-auditor-tenant-isolation.md | 4 ++--

2026-06-22 11:17 11:29 (11m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • a55faf7 chore: Frontend-Seiten in Komponenten/Hooks aufteilen

Geänderte Dateien

  • src/app/admin/page.tsx | 911 ++++++++++++++++++++++++------------------------------------------------------------------------------------------------
  • src/app/imap/page.tsx | 811 ++++++++++++++--------------------------------------------------------------------------------------------
  • src/app/search/page.tsx | 857 +++++++++++++++++++---------------------------------------------------------------------------------------------
  • src/app/settings/page.tsx | 629 +++--------------------------------------------------------------------------------
  • src/components/imap/ImapAccountCard.tsx | 182 ++++++++++++++++++++++++
  • src/components/imap/ImapAccountDialog.tsx | 206 +++++++++++++++++++++++++++
  • src/components/imap/ImapDeleteDialog.tsx | 47 +++++++
  • src/components/imap/ImapEditDialog.tsx | 147 ++++++++++++++++++++
  • src/components/search/ExportDialogs.tsx | 245 +++++++++++++++++++++++++++++++++
  • src/components/search/SearchFilterBar.tsx | 270 ++++++++++++++++++++++++++++++++++++
  • src/components/search/SearchResultsTable.tsx | 187 +++++++++++++++++++++++++
  • src/components/settings/DisplaySection.tsx | 68 +++++++++
  • src/components/settings/ImapSection.tsx | 93 +++++++++++++
  • src/components/settings/PasswordSection.tsx | 86 ++++++++++++
  • src/components/settings/ProfileSection.tsx | 59 ++++++++
  • src/components/settings/TotpSection.tsx | 200 +++++++++++++++++++++++++++
  • src/hooks/useAdminAudit.ts | 35 +++++
  • src/hooks/useAdminCert.ts | 71 ++++++++++
  • src/hooks/useAdminDashboard.ts | 86 ++++++++++++
  • src/hooks/useAdminSecurity.ts | 55 ++++++++
  • src/hooks/useAdminServices.ts | 46 +++++++
  • src/hooks/useAdminTenants.ts | 171 +++++++++++++++++++++++
  • src/hooks/useAdminUpload.ts | 58 ++++++++
  • src/hooks/useAdminUsers.ts | 169 +++++++++++++++++++++++
  • src/hooks/useImapAccounts.ts | 334 ++++++++++++++++++++++++++++++++++++++++++++
  • src/hooks/useMailUpload.ts | 77 +++++++++++
  • src/hooks/usePasswordChange.ts | 54 ++++++++
  • src/hooks/useProfileSettings.ts | 89 ++++++++++++
  • src/hooks/useSavedSearches.ts | 163 ++++++++++++++++++++++
  • src/hooks/useSearch.ts | 101 ++++++++++++++
  • src/hooks/useSystemInfo.ts | 29 ++++
  • src/hooks/useTenantLogos.ts | 124 +++++++++++++++++
  • src/hooks/useTotpSettings.ts | 108 +++++++++++++++

2026-06-22 14:07 14:21 (14m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 4dbf27c feat(PROJ-56): Last-Entzerrung für OCR und IMAP-Sync

Geänderte Dateien

  • cmd/archivmail/main.go | 12 +++++++++---
  • config/config.docker.yml.example | 16 ++++++++++++++++
  • config/config.go | 41 +++++++++++++++++++++++++++++++++++++++++
  • features/INDEX.md | 3 ++-
  • features/PROJ-56-last-entzerrung-hintergrundjobs.md | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/imap/scheduler.go | 38 +++++++++++++++++++++++++++++++++++++-
  • internal/ocr/worker.go | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------

2026-06-22 14:28 14:30 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 12c4dc7 docs(PROJ-56): Test-Deployment auf 192.168.1.132 dokumentieren

Geänderte Dateien

  • features/PROJ-56-last-entzerrung-hintergrundjobs.md | 6 +++++-

2026-06-22 14:32 14:35 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • be48a99 docs(PROJ-56): Status auf Deployed setzen

Geänderte Dateien

  • features/INDEX.md | 2 +-
  • features/PROJ-56-last-entzerrung-hintergrundjobs.md | 4 ++--

2026-06-24 14:45 14:46 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • dba9939 feat(PROJ-56): OCR-Pausenfenster per SIGHUP-Reload statt Restart

Geänderte Dateien

  • cmd/archivmail/main.go | 30 ++++++++++++++++++++++++++++++
  • deploy/cron.d/archivmail-ocr-pause | 20 ++++++++++++++++++++
  • deploy/cron.d/archivmail-ocr-pause.sh | 42 ++++++++++++++++++++++++++++++++++++++++++
  • install.sh | 1 +
  • internal/ocr/worker.go | 38 ++++++++++++++++++++++++++------------

2026-06-24 15:32 15:41 (9m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • d826fe1 chore(PROJ-56): Cron-Dateien nach mailpiler-Vorbild konsolidieren

Geänderte Dateien

  • deploy/cron.d/archivmail | 31 +++++++++++++++++++++++++++++++
  • deploy/cron.d/archivmail-ocr-pause | 20 --------------------

2026-06-24 16:00 16:00 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 586af24 feat(PROJ-56c): GoBD-Retention-Purge als Cron-Job + Delete()-Konsistenzfix

Geänderte Dateien

  • cmd/archivmail/cmd_import.go | 1 +
  • cmd/archivmail/cmd_purge.go | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/archivmail/main.go | 3 +++
  • deploy/cron.d/archivmail | 7 ++++++-
  • internal/storage/storage.go | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------

2026-06-24 16:19 16:40 (20m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • b3ff8e6 feat(PROJ-56c): Purge-Cron löscht nur explizit markierte Mails

Geänderte Dateien

  • cmd/archivmail/cmd_purge.go | 22 +++++++++++++---------
  • internal/api/retention_handlers.go | 96 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/api/server.go | 4 ++++
  • internal/storage/mark_deletion.go | 148 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/storage/storage.go | 14 ++++++++++++++
  • src/components/admin/tabs/RetentionTab.tsx | 116 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-

2026-06-24 16:57 17:03 (5m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 69c120a feat(PROJ-56d): archivmail import um --tenant Flag erweitert

Geänderte Dateien

  • cmd/archivmail/cmd_import.go | 20 ++++++++++++++++----
  • cmd/archivmail/cmd_import_piler.go | 4 ++--

2026-06-24 22:46 22:48 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 76655f7 fix(PROJ-57): UTF-8-Encoding für Mails mit Nicht-UTF-8-Charset korrigieren

Geänderte Dateien

  • cmd/archivmail/cmd_import.go | 2 +-
  • cmd/archivmail/cmd_import_piler.go | 2 +-
  • cmd/archivmail/cmd_ocr_reprocess.go | 2 +-
  • cmd/archivmail/cmd_purge.go | 2 +-
  • cmd/archivmail/cmd_reindex.go | 2 +-
  • cmd/archivmail/cmd_status.go | 2 +-
  • cmd/archivmail/main.go | 2 +-
  • config/config.go | 2 +-
  • go.mod | 2 +-
  • internal/api/server.go | 2 +-
  • pkg/mailparser/parser.go | 24 ++++++++++++++++++++++++

2026-06-24 22:53 23:08 (15m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • fae274f feat(PROJ-58): Indexierung + OCR optional als Cron-Batch statt Dauerbetrieb

Geänderte Dateien

  • cmd/archivmail/cmd_import.go | 1 +
  • cmd/archivmail/cmd_index_pending.go | 157 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/archivmail/main.go | 80 +++++++++++++++++++++++++++++++++-----------
  • config/config.docker.yml.example | 14 ++++++++
  • config/config.go | 14 ++++++++
  • deploy/cron.d/archivmail | 24 ++++++++++++++
  • features/INDEX.md | 4 ++-
  • features/PROJ-57-utf8-encoding-fix.md | 33 +++++++++++++++++++
  • features/PROJ-58-cron-batch-index-ocr.md | 64 ++++++++++++++++++++++++++++++++++++
  • internal/storage/storage.go | 36 ++++++++++++++++++++

2026-06-24 23:15 23:16 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • c91eeac docs(PROJ-58): batch_mode für Neuinstallationen standardmäßig aktivieren

Geänderte Dateien

  • config/config.docker.yml.example | 20 ++++++++++++--------
  • features/PROJ-58-cron-batch-index-ocr.md | 3 +++

2026-06-24 23:53 23:59 (6m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 46502ab fix(PROJ-58): Lockfile gegen überlappende Cron-Batch-Läufe + update.sh synct Cron-Dateien

Geänderte Dateien

  • deploy/cron.d/archivmail | 11 +++++++++--
  • deploy/cron.d/archivmail-index-pending.sh | 25 +++++++++++++++++++++++++
  • deploy/cron.d/archivmail-ocr-reprocess.sh | 21 +++++++++++++++++++++
  • features/PROJ-58-cron-batch-index-ocr.md | 6 ++++++
  • update.sh | 9 +++++++++

2026-06-25 00:02 00:04 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 043520e chore(PROJ-59): tote Xapian-Reste aus config.docker.yml.example entfernen

Geänderte Dateien

  • config/config.docker.yml.example | 5 ++---

2026-06-25 00:06 00:14 (7m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 5f63bfe chore(PROJ-60): Xapian-Legacy-Backend vollständig aus dem Code entfernt

Geänderte Dateien

  • cmd/archivmail-export/main.go | 2 +-
  • cmd/archivmail-import/main.go | 2 +-
  • cmd/archivmail/cmd_export.go | 2 +-
  • cmd/archivmail/cmd_import.go | 2 +-
  • cmd/archivmail/cmd_import_piler.go | 2 +-
  • cmd/archivmail/cmd_reindex.go | 2 +-
  • internal/api/api_test.go | 4 ++--
  • internal/index/index.go | 23 +++++++++++++++-------
  • internal/index/index_test.go | 178 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • internal/index/tenant_manager.go | 3 ++-
  • internal/index/worker.go | 4 ++--
  • internal/index/xapian.go | 149 ---------------------------------------------------------------------------------------------------------------------------------------------
  • internal/index/xapian_stub.go | 9 ---------
  • internal/index/xapian_wrapper.cpp | 223 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  • internal/index/xapian_wrapper.h | 37 -----------------------------------

2026-06-25 00:24 00:35 (11m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 3638747 fix(PROJ-61): Cross-Tenant Stored XSS via Mandanten-Logo behoben (Sicherheitsbug)

Geänderte Dateien

  • features/INDEX.md | 3 ++-
  • features/PROJ-61-fix-tenant-logo-xss-idor.md | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/api/ldap_tenants.go | 2 +-
  • internal/api/tenant_logo_handlers.go | 24 +++++++++++++++++-------

2026-06-25 01:11 01:53 (42m)

Beschreibung: Claude Code Session Projekt: agents

Commits

  • 7c02860 fix(PROJ-62): Cross-Tenant IDOR bei POP3-Konto-Löschung/-Import behoben (Sicherheitsbug)

Geänderte Dateien

  • features/INDEX.md | 3 ++-
  • features/PROJ-62-fix-pop3-tenant-idor.md | 39 +++++++++++++++++++++++++++++++++++++++
  • internal/api/pop3_handlers.go | 8 ++++++++

2026-06-25 09:48 09:48 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • c1338f6 chore(PROJ-60): Xapian-Reste aus Dockerfile, Makefile und Doku entfernen

Geänderte Dateien

  • Dockerfile | 14 +++++---------
  • Makefile | 12 ++++++------
  • docs/PRD.md | 2 +-
  • docs/api-v1.md | 4 ++--

2026-06-30 14:37 14:37 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • dcb8831 fix(PROJ-63): Defense-in-Depth Tenant-Scope-Härtung der Admin-Endpunkte

Geänderte Dateien

  • .claude/agents/mailarchiv-architect.md | 31 ++++++++++++++++++++++++++++++-
  • .claude/agents/manticore-admin.md | 9 +++++++++
  • features/INDEX.md | 3 ++-
  • internal/api/tenant_domain_handlers.go | 16 ++++++++++++++++
  • internal/api/tenant_handlers.go | 21 +++++++++++++++++++++
  • internal/api/tenant_logo_handlers.go | 10 ++++++++++

2026-06-30 18:15 18:17 (2m)

Beschreibung: Claude Code Session Projekt: Trad-Bot

Commits

  • 0552ce4 fix(PROJ-50): Cross-Tenant-Lücke + Fehlerbehandlung in DSGVO-Handlern behoben

Geänderte Dateien

  • internal/api/dsgvo_handlers.go | 43 +++++++++++++++++++++++++++++++++++++------
  • internal/storage/dsgvo_requests.go | 37 ++++++++++++++++++++++++++++++++++---

2026-06-30 19:34 19:34 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 261a954 feat(PROJ-50): Admin-Tab "DSGVO-Anfragen" implementiert

Geänderte Dateien

  • src/app/admin/page.tsx | 16 ++++
  • src/components/admin/tabs/DSGVOTab.tsx | 532 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • src/lib/api/dsgvo.ts | 83 ++++++++++++++++++
  • src/lib/api/index.ts | 16 ++++

2026-06-30 19:55 19:57 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 681d81c chore: Installer auf Debian 13 (trixie) als Mindestanforderung festlegen

Geänderte Dateien

  • install.sh | 56 ++++++++++++++++++++++++++++++++++++--------------------
  • update.sh | 7 +++----

2026-06-30 19:58 19:59 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 909a3b0 chore: update.sh OS-versions-agnostisch machen (Debian 14+ safe)

Geänderte Dateien

  • update.sh | 53 +++++++++++++++++++++++++++++++++++++++++------------

2026-06-30 20:02 20:02 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 5e7ae6e fix: Manticore-Architektur in install.sh dynamisch (arm64-Unterstützung)

Geänderte Dateien

  • install.sh | 5 +++--

2026-06-30 20:16 20:18 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 0ccbd5b fix(mailparser): kaputte/truncated Multipart-Mails partiell indexieren statt scheitern

Geänderte Dateien

  • pkg/mailparser/parser.go | 20 ++++++++------------

2026-07-03 22:23 22:23 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • b286352 fix(PROJ-64): Session-Invalidation bei Passwort-Change + Datei-Permissions gehärtet

Geänderte Dateien

  • features/INDEX.md | 7 ++++---
  • features/PROJ-64-session-invalidation-file-permissions.md | 40 ++++++++++++++++++++++++++++++++++++++++
  • internal/api/totp_handlers.go | 6 ++++++
  • internal/auth/auth.go | 15 +++++++++++++++
  • internal/storage/attachments.go | 4 ++--
  • internal/storage/storage.go | 6 +++---
  • internal/userstore/userstore.go | 27 ++++++++++++++++++++++++++-

2026-07-03 22:48 22:48 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 99e4c1b fix(security): Fail-closed Tenant-Filter in v1-Suche + SMTP-Out-Key-Kette gehärtet
  • be93614 feat(PROJ-52): Vollständigkeits-Reconciliation (Zähl-Report Mailserver vs. Archiv)

Geänderte Dateien

  • internal/api/v1_handlers.go | 22 ++++++++++++++++++++++
  • internal/smtpoutconfig/store.go | 4 ++++

2026-07-03 22:53 22:54 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • e91206c chore(PROJ-52): Cron-Job für Reconciliation in /etc/cron.d/archivmail ergänzen

Geänderte Dateien

  • deploy/cron.d/archivmail | 9 +++++++++

2026-07-03 23:04 23:06 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 804cd62 fix(PROJ-50): DSGVO-Tab lädt nicht — API-Contract-Mismatch Frontend/Backend

Geänderte Dateien

  • src/components/admin/tabs/DSGVOTab.tsx | 19 +++++++++++++------
  • src/lib/api/dsgvo.ts | 19 ++++++++++++-------

2026-07-03 23:36 23:37 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 767373b feat(PROJ-46): E-Mail als primärer Login-Identifier für Tenant-User

Geänderte Dateien

  • features/INDEX.md | 4 +-
  • features/PROJ-43-archivierungsregeln.md | 112 +++++++++++++++++++++++++++++++++
  • features/PROJ-46-email-login-tenant-user.md | 100 ++++++++++++++++++++++++++++++
  • internal/api/rules_handlers.go | 213 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/api/server.go | 8 +++
  • internal/auth/auth.go | 4 +-
  • internal/imap/importer.go | 23 +++++--
  • internal/smtpd/smtpd.go | 39 ++++++++++++
  • internal/storage/storage.go | 2 +
  • internal/storage/tenant_routing_rules.go | 383 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/userstore/userstore.go | 73 ++++++++++++++++++++++
  • internal/userstore/userstore_test.go | 68 +++++++++++++++++++++
  • src/app/admin/login/page.tsx | 4 +-
  • src/app/admin/page.tsx | 6 ++
  • src/app/page.tsx | 10 +--
  • src/components/admin/tabs/RoutingRulesTab.tsx | 564 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • src/lib/api/index.ts | 17 ++++++
  • src/lib/api/routing_rules.ts | 94 ++++++++++++++++++++++++++++

2026-07-03 23:45 23:46 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • af16138 docs: README aktualisieren, Dev-Log/Dateiindex/GoBD-Checklist/Screenshots ins Repo

Geänderte Dateien

  • CODEBASE.md | 262 ++++++
  • DEVLOG.md | 7808 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • README.md | 782 +++++++++---------
  • docs/GOBD_DSGVO_CHECKLIST.md | 64 ++
  • resume | 1 +
  • screenshots/2026-06-12_22-27.png | Bin 0 -> 59929 bytes
  • screenshots/2026-06-13_00-14.png | Bin 0 -> 125637 bytes
  • screenshots/2026-06-14_21-59.png | Bin 0 -> 81727 bytes
  • screenshots/2026-06-14_22-00.png | Bin 0 -> 195105 bytes

2026-07-03 23:54 23:56 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • c274df5 fix(deploy): update.sh synchronisiert systemd-Units bei jedem Deploy

Geänderte Dateien

  • update.sh | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2026-07-04 00:02 00:02 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 04e5b0f fix(security-audit): HTTPS/Port-Checks erkennen nftables Set-Syntax nicht

Geänderte Dateien

  • internal/api/admin_security_handlers.go | 33 ++++++++++++++++++++++++++++++---

2026-07-04 12:06 12:07 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • a739015 docs: GoBD-Checklist auf aktuellen Stand bringen (PROJ-52, PROJ-56c)

Geänderte Dateien

  • docs/GOBD_DSGVO_CHECKLIST.md | 4 ++--

2026-07-04 12:08 12:12 (3m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 6d67a6b docs: GoBD-Checklist auf aktuellen Stand bringen, Spec für PROJ-56c nachtragen

Geänderte Dateien

  • docs/GOBD_DSGVO_CHECKLIST.md | 56 ++++++++++++++++++++++++++------------------------------
  • features/INDEX.md | 1 +
  • features/PROJ-56c-cron-purge-markierte-mails.md | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2026-07-04 12:13 12:14 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 17633cb docs: Migrations-Runbook für Compliance-Erhalt-Check ergänzen (GoBD Punkt 10)

Geänderte Dateien

  • docs/GOBD_DSGVO_CHECKLIST.md | 18 +++++++-----------
  • docs/MIGRATION_RUNBOOK.md | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2026-07-04 12:15 12:17 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 45ac685 docs(PROJ-65): Spec für physische Tenant-Trennung im Storage-Layer

Geänderte Dateien

  • features/INDEX.md | 3 ++-

2026-07-04 12:20 12:21 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • bd72761 chore: Screenshots aus dem Repo entfernen

Geänderte Dateien

  • .gitignore | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • screenshots/2026-06-12_22-27.png | Bin 59929 -> 0 bytes
  • screenshots/2026-06-13_00-14.png | Bin 125637 -> 0 bytes
  • screenshots/2026-06-14_21-59.png | Bin 81727 -> 0 bytes
  • screenshots/2026-06-14_22-00.png | Bin 195105 -> 0 bytes

2026-07-04 12:23 12:25 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 8174456 docs: README auf aktuellen Stand bringen (PROJ-43/52 Deployed, Config-Referenz vervollständigt)

Geänderte Dateien

  • README.md | 79 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------

2026-07-04 — PROJ-46 Deploy auf Produktiv (192.168.1.131)

Breaking Change — Login-Verhalten für Tenant-User geändert:

Tenant-User (tenant_id gesetzt) können sich ab sofort nur noch per E-Mail-Adresse einloggen, nicht mehr per Username. Superadmin/System-User (tenant_id IS NULL) sind unverändert — für sie funktionieren weiterhin sowohl Username als auch E-Mail.

  • Betroffen: Web-Login (/, /admin/login), REST-API-Login (POST /api/auth/login)
  • Nicht betroffen: IMAP-Login (Port 993, PROJ-26) — dort weiterhin Username-basiert (separater Code-Pfad VerifyPassword, von PROJ-46 nicht angetastet)
  • QA: 9/9 Acceptance Criteria bestanden auf 192.168.1.132 (siehe features/PROJ-46-email-login-tenant-user.md)
  • Deploy: update.sh auf 131, Backend + Frontend laufen, Smoke-Test bestanden
  • Betroffene Kunden/Tenants mit abweichendem Username↔E-Mail sollten informiert werden, dass sie künftig ihre E-Mail-Adresse zum Login verwenden müssen (Datenqualitäts-Check vom 2026-06-13 ergab: 0 Username↔E-Mail-Kollisionen, alle Tenant-User haben gültige E-Mail-Adressen hinterlegt)

2026-07-04 12:58 13:04 (6m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • a15fa37 feat(PROJ-65): Physische Tenant-Trennung im Storage-Layer (Hardlink-Ordner)

Geänderte Dateien

  • cmd/archivmail/cmd_migrate_tenant_dirs.go | 53 +++++++++++++++++++++++++++++++++++
  • cmd/archivmail/cmd_status.go | 25 +++++++++++++++++
  • cmd/archivmail/main.go | 3 ++
  • docs/GOBD_DSGVO_CHECKLIST.md | 13 ++++-----
  • features/INDEX.md | 2 +-
  • features/PROJ-65-physische-tenant-trennung.md | 254 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/storage/storage.go | 14 ++++++++++
  • internal/storage/tenant_dirs.go | 137 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2026-07-04 13:49 13:52 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • ebab716 docs(PROJ-66): Backup-Strategie-Spec anlegen; PROJ-65 Deployed-Status nachziehen

Geänderte Dateien

  • features/INDEX.md | 5 +-
  • features/PROJ-65-physische-tenant-trennung.md | 113 +++++++++++++++++++++++++++++++++++++++--
  • features/PROJ-66-backup-strategie.md | 459 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2026-07-04 14:06 14:10 (3m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • f3a7dea feat(PROJ-66): CLI-Kommandos archivmail backup/restore

Geänderte Dateien

  • cmd/archivmail/cmd_backup.go | 227 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/archivmail/cmd_import.go | 2 ++
  • cmd/archivmail/cmd_restore.go | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • cmd/archivmail/main.go | 6 +++++
  • deploy/cron.d/archivmail | 11 +++++++++
  • features/INDEX.md | 2 +-
  • features/PROJ-66-backup-strategie.md | 60 ++++++++++++++++++++++++++++++++++++++++++++---

2026-07-04 15:11 15:13 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 2b70895 feat(PROJ-66): Keyfile-Escrow-Hinweis bei Installation ausgeben

Geänderte Dateien

  • features/PROJ-66-backup-strategie.md | 11 +++++++++++
  • install.sh | 19 +++++++++++++++++++

2026-07-04 15:14 15:16 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 55131de fix(PROJ-66): Build-Fehler in printHelp() + -force überschreibt keine Hardlinks

Geänderte Dateien

  • cmd/archivmail/cmd_backup.go | 8 ++++++++
  • cmd/archivmail/cmd_import.go | 2 +-
  • features/INDEX.md | 2 +-
  • features/PROJ-66-backup-strategie.md | 100 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-

2026-07-05 18:00 18:01 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 3428537 fix(deploy): Manticore-Installer auf aktuelles Paketschema+Version aktualisieren

Geänderte Dateien

  • install.sh | 14 +++++++++-----
  • update.sh | 22 +++++++++++++++++-----

2026-07-05 18:08 18:11 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 4e08523 feat(PROJ-67): Manticore-Upgrade-Pfad für Bestandsinstallationen

Geänderte Dateien

  • features/INDEX.md | 5 +++--
  • features/PROJ-67-manticore-upgrade-25-zu-27.md | 104 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • install.sh | 33 +++++++++++++++++++++++----------
  • update.sh | 41 ++++++++++++++++++++++++++++++++---------

2026-07-05 18:12 18:16 (4m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • bbefa83 feat(PROJ-67): Manticore-Version dynamisch aus Repo-Packages-Datei lesen

Geänderte Dateien

  • install.sh | 49 ++++++++++++++++++++++++++++++++++++-------------
  • update.sh | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------

2026-07-05 19:10 19:13 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 8564d7c feat: Versions-Spalte im Dienste-Tab für Superadmin

Geänderte Dateien

  • internal/api/admin_services_handlers.go | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----
  • src/components/admin/tabs/ServicesTab.tsx | 4 ++++
  • src/lib/api/system.ts | 1 +

2026-07-05 19:28 19:50 (22m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 7300a69 fix(PROJ-68): sudo-Provisionierung für Admin-Dienststeuerung ergänzen
  • 4af0e4a fix: Modulübersicht mit features/INDEX.md synchronisieren, Versions-Spalte ergänzen

Geänderte Dateien

  • features/INDEX.md | 5 +++--
  • features/PROJ-68-sudo-provisionierung-dienststeuerung.md | 115 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • install.sh | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
  • update.sh | 34 ++++++++++++++++++++++++++++++++++

2026-07-05 20:02 20:10 (8m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • af89794 fix(PROJ-68): CapabilityBoundingSet blockiert sudo trotz korrekter sudoers-Regel

Geänderte Dateien

  • features/PROJ-68-sudo-provisionierung-dienststeuerung.md | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---
  • install.sh | 9 ++++++++-
  • update.sh | 9 ++++++++-

2026-07-05 20:17 20:18 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • e19f2e5 chore: AppVersion auf 1.0.0 anheben

Geänderte Dateien

  • cmd/archivmail/version.go | 26 +++++++++++++-------------

2026-07-05 21:10 21:12 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 4eba165 docs(PROJ-66): Backup & Restore Runbook schreiben

Geänderte Dateien

  • docs/BACKUP_RESTORE_RUNBOOK.md | 170 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • features/PROJ-66-backup-strategie.md | 75 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-

2026-07-06 11:47 11:47 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 8bd02fa docs(PROJ-67,PROJ-68): Deployment-Status auf Deployed setzen

Geänderte Dateien

  • DEVLOG.md | 829 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • features/INDEX.md | 2 +-
  • features/PROJ-67-manticore-upgrade-25-zu-27.md | 157 +++++++++++++++-
  • features/PROJ-68-sudo-provisionierung-dienststeuerung.md | 111 ++++++++++-

2026-07-06 12:08 12:08 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 3b2a838 feat(PROJ-69): Admin-Dashboard Tab-Gruppierung (2-Ebenen-Navigation)

Geänderte Dateien

  • DEVLOG.md | 98 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • features/INDEX.md | 3 ++-
  • src/app/admin/page.tsx | 126 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------

2026-07-06 12:15 13:30 (1h 15m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • e0b0c6d fix: Registrieren-Link auf Startseite entfernen

Geänderte Dateien

  • src/app/page.tsx | 3 ---

2026-07-07 00:25 00:43 (18m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • ba0c519 docs(PROJ-70): Implementation Notes für Frontend ergänzen
  • 4b3a4ef feat(PROJ-70): Frontend für IMAP-Rückholung (Opt-in + Restore-Button)
  • c00bf27 docs(PROJ-70): Feature-Spec-Datei nachtragen (versehentlich nicht committed)
  • da79a56 feat(PROJ-70): Self-Service IMAP-Rückholung (Backend)
  • 7aa63e3 docs(PROJ-70): Feature-Spec IMAP-Rückholung anlegen

Geänderte Dateien

  • features/PROJ-70-imap-rueckholung-self-service.md | 26 ++++++++++++++++++++++----

2026-07-07 01:22 01:27 (4m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 28565f0 docs(PROJ-69,PROJ-70): Deployment-Status auf Deployed setzen

Geänderte Dateien

  • features/INDEX.md | 4 ++--
  • features/PROJ-69-admin-tabs-gruppierung.md | 74 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • features/PROJ-70-imap-rueckholung-self-service.md | 25 +++++++++++++++++++------

2026-07-07 01:41 01:42 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • e221fcf docs(PROJ-70): Message-ID-Erhalt als Acceptance Criterion festhalten

Geänderte Dateien

  • features/PROJ-70-imap-rueckholung-self-service.md | 9 +++++++++

2026-07-08 11:42 11:43 (1m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 9db5eaa feat(PROJ-71): TLS-Pflicht (optional) für eingehenden SMTP-BCC-Kanal

Geänderte Dateien

  • config/config.go | 1 +
  • features/INDEX.md | 3 ++-
  • features/PROJ-71-smtp-require-tls.md | 49 +++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/smtpd/smtpd.go | 16 +++++++++++++++-
  • src/components/admin/tabs/AuditTab.tsx | 21 +++++++++++++++++++--

2026-07-26 21:50 21:52 (2m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • c580a7c fix(PROJ-72): Superadmin kann Passwort/Rolle von Superadmin-Peers nicht ändern

Geänderte Dateien

  • internal/api/admin_users_handlers.go | 19 +++++++++++--------

2026-07-27 00:04 00:08 (4m)

Beschreibung: Claude Code Session Projekt: spesenapp

Commits

  • 2e952f1 docs(PROJ-72): Feature-Spec nachtragen + Audit-Log-Härtung für abgelehnte Privilege-Checks

Geänderte Dateien

  • features/INDEX.md | 3 ++-
  • features/PROJ-72-fix-superadmin-peer-patch.md | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • internal/api/admin_users_handlers.go | 32 ++++++++++++++++++++++++++++++++
  • src/data/features.ts | 1 +

2026-07-30 23:02 23:02 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 5416e7d fix(agents): Deploy-Reihenfolge 132-vor-131 in Subagent-Defs + kaputtes sub-frist Frontmatter

Geänderte Dateien

  • .claude/agents/db-migrator.md | 217 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • .claude/agents/devops-deploy.md | 151 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
  • .claude/agents/mailarchiv-architect.md | 2 +-
  • .claude/agents/sub-frist.md | 248 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2026-07-30 23:03 23:03 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

  • 415ac61 docs: DEVLOG aktualisieren

Geänderte Dateien

  • DEVLOG.md | 679 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2026-07-31 12:36 12:36 (0m)

Beschreibung: Claude Code Session Projekt: archivmail

Commits

Keine Commits in dieser Session.

Geänderte Dateien

  • DEVLOG.md | 679 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++