Duplizierte "Keine Commits"-Eintraege der heutigen Session (Hook lief mehrfach) durch einen konsolidierten Eintrag mit den echten PROJ-79- Commits ersetzt.
3130 lines
117 KiB
Markdown
3130 lines
117 KiB
Markdown
# 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-40–43
|
||
|
||
### 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 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-07-31 12:36 – 12:36 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- 0fa4fad chore: leere DEVLOG-Sessioneinträge entfernen
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-07-31 12:57 – 12:57 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-07-31 12:59 – 12:59 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-07-31 14:19 – 14:20 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-07-31 14:20 – 14:20 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-07-31 14:22 – 14:22 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++++++++++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 12:38 – 12:38 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 12:40 – 12:40 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 12:44 – 12:44 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 12:45 – 12:45 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 12:46 – 12:46 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 12:48 – 12:48 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 12:49 – 12:49 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 13:26 – 13:26 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 13:27 – 13:27 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 13:29 – 13:29 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 13:30 – 13:31 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 13:31 – 13:32 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 13:32 – 13:33 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- DEVLOG.md | 9695 ++++++++++++++++---------------------------------------------------------------------------------------------------------------------------------------
|
||
|
||
---
|
||
## 2026-08-05 13:35 – 13:39 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- 798cb28 fix: Crash-Robustheit + Performance in Backend und Frontend härten
|
||
|
||
### Geänderte Dateien
|
||
- cmd/archivmail/cmd_import.go | 6 +++++-
|
||
- cmd/archivmail/main.go | 21 ++++++++++++++-------
|
||
- internal/api/imap_handlers.go | 5 ++++-
|
||
- internal/api/invite_handlers.go | 8 +++++---
|
||
- internal/api/onboarding_handlers.go | 16 +++++++++-------
|
||
- internal/api/pop3_handlers.go | 5 ++++-
|
||
- internal/api/upload.go | 18 +++++++++++++++---
|
||
- internal/auth/apikey_middleware.go | 10 +++++++++-
|
||
- internal/imap/scheduler.go | 15 ++++++++++++---
|
||
- internal/imapserver/server.go | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------
|
||
- internal/index/tenant_worker.go | 14 ++++++++++++++
|
||
- internal/index/worker.go | 24 ++++++++++++++++++------
|
||
- internal/ocr/worker.go | 14 ++++++++++++++
|
||
- internal/safego/safego.go | 32 ++++++++++++++++++++++++++++++++
|
||
- internal/smtpd/smtpd.go | 18 +++++++++++++++++-
|
||
- pkg/mailparser/mbox.go | 44 ++++++++++++++++++++++++++++++++++++--------
|
||
- pkg/mailparser/parser.go | 41 +++++++++++++++++++++++++++++++++++------
|
||
- src/app/admin/upload/page.tsx | 4 +++-
|
||
- src/app/error.tsx | 46 ++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/mail/[id]/error.tsx | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/mail/[id]/page.tsx | 14 ++++++++++----
|
||
- src/app/not-found.tsx | 23 +++++++++++++++++++++++
|
||
- src/app/pop3/page.tsx | 2 +-
|
||
- src/components/admin/tabs/ArchivingRulesTab.tsx | 6 +++---
|
||
- src/components/admin/tabs/DashboardTab.tsx | 8 ++++----
|
||
- src/components/admin/tabs/ReconciliationCard.tsx | 10 ++++++----
|
||
- src/components/admin/tabs/RoutingRulesTab.tsx | 4 ++--
|
||
- src/components/admin/tabs/SecurityTab.tsx | 15 ++++++++++-----
|
||
- src/components/mail/RestoreMailButton.tsx | 5 +++--
|
||
- src/components/search/SearchFilterBar.tsx | 2 +-
|
||
- src/components/search/SearchResultsTable.tsx | 2 +-
|
||
- src/hooks/useAdminDashboard.ts | 6 +++++-
|
||
- src/hooks/useImapAccounts.ts | 2 +-
|
||
- src/hooks/useSavedSearches.ts | 26 ++++++++++++++------------
|
||
- src/lib/api/core.ts | 10 +++++++++-
|
||
|
||
---
|
||
## 2026-08-05 13:46 – 13:46 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- cmd/archivmail/cmd_import.go | 6 +++++-
|
||
- cmd/archivmail/main.go | 21 ++++++++++++++-------
|
||
- internal/api/imap_handlers.go | 5 ++++-
|
||
- internal/api/invite_handlers.go | 8 +++++---
|
||
- internal/api/onboarding_handlers.go | 16 +++++++++-------
|
||
- internal/api/pop3_handlers.go | 5 ++++-
|
||
- internal/api/upload.go | 18 +++++++++++++++---
|
||
- internal/auth/apikey_middleware.go | 10 +++++++++-
|
||
- internal/imap/scheduler.go | 15 ++++++++++++---
|
||
- internal/imapserver/server.go | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++---------------------
|
||
- internal/index/tenant_worker.go | 14 ++++++++++++++
|
||
- internal/index/worker.go | 24 ++++++++++++++++++------
|
||
- internal/ocr/worker.go | 14 ++++++++++++++
|
||
- internal/safego/safego.go | 32 ++++++++++++++++++++++++++++++++
|
||
- internal/smtpd/smtpd.go | 18 +++++++++++++++++-
|
||
- pkg/mailparser/mbox.go | 44 ++++++++++++++++++++++++++++++++++++--------
|
||
- pkg/mailparser/parser.go | 41 +++++++++++++++++++++++++++++++++++------
|
||
- src/app/admin/upload/page.tsx | 4 +++-
|
||
- src/app/error.tsx | 46 ++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/mail/[id]/error.tsx | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/mail/[id]/page.tsx | 14 ++++++++++----
|
||
- src/app/not-found.tsx | 23 +++++++++++++++++++++++
|
||
- src/app/pop3/page.tsx | 2 +-
|
||
- src/components/admin/tabs/ArchivingRulesTab.tsx | 6 +++---
|
||
- src/components/admin/tabs/DashboardTab.tsx | 8 ++++----
|
||
- src/components/admin/tabs/ReconciliationCard.tsx | 10 ++++++----
|
||
- src/components/admin/tabs/RoutingRulesTab.tsx | 4 ++--
|
||
- src/components/admin/tabs/SecurityTab.tsx | 15 ++++++++++-----
|
||
- src/components/mail/RestoreMailButton.tsx | 5 +++--
|
||
- src/components/search/SearchFilterBar.tsx | 2 +-
|
||
- src/components/search/SearchResultsTable.tsx | 2 +-
|
||
- src/hooks/useAdminDashboard.ts | 6 +++++-
|
||
- src/hooks/useImapAccounts.ts | 2 +-
|
||
- src/hooks/useSavedSearches.ts | 26 ++++++++++++++------------
|
||
- src/lib/api/core.ts | 10 +++++++++-
|
||
|
||
---
|
||
## 2026-08-05 13:48 – 13:50 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- 88cdc3e fix(PROJ-73): Upload-Job-Status bei Panic + nil-Guards nach GetByUsername
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 8 +++++++-
|
||
- features/PROJ-73-restliche-crash-haertung.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/api/auth_handlers.go | 2 +-
|
||
- internal/api/ediscovery.go | 2 +-
|
||
- internal/api/export.go | 4 ++--
|
||
- internal/api/ocr_handlers.go | 2 +-
|
||
- internal/api/profile_handlers.go | 6 +++---
|
||
- internal/api/restore_handlers.go | 4 ++--
|
||
- internal/api/search_handlers.go | 4 ++--
|
||
- internal/api/smtpout_handlers.go | 2 +-
|
||
- internal/api/upload.go | 15 +++++++++++++++
|
||
|
||
---
|
||
## 2026-08-05 13:51 – 13:58 (6m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 8 +++++++-
|
||
- features/PROJ-73-restliche-crash-haertung.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/api/auth_handlers.go | 2 +-
|
||
- internal/api/ediscovery.go | 2 +-
|
||
- internal/api/export.go | 4 ++--
|
||
- internal/api/ocr_handlers.go | 2 +-
|
||
- internal/api/profile_handlers.go | 6 +++---
|
||
- internal/api/restore_handlers.go | 4 ++--
|
||
- internal/api/search_handlers.go | 4 ++--
|
||
- internal/api/smtpout_handlers.go | 2 +-
|
||
- internal/api/upload.go | 15 +++++++++++++++
|
||
|
||
---
|
||
## 2026-08-05 14:01 – 14:05 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 8 +++++++-
|
||
- features/PROJ-73-restliche-crash-haertung.md | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/api/auth_handlers.go | 2 +-
|
||
- internal/api/ediscovery.go | 2 +-
|
||
- internal/api/export.go | 4 ++--
|
||
- internal/api/ocr_handlers.go | 2 +-
|
||
- internal/api/profile_handlers.go | 6 +++---
|
||
- internal/api/restore_handlers.go | 4 ++--
|
||
- internal/api/search_handlers.go | 4 ++--
|
||
- internal/api/smtpout_handlers.go | 2 +-
|
||
- internal/api/upload.go | 15 +++++++++++++++
|
||
|
||
---
|
||
## 2026-08-05 14:07 – 14:07 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- 075afa0 fix(PROJ-74): Test-/Vet-Signatur-Drift beheben, go build/vet/test wieder grün
|
||
|
||
### Geänderte Dateien
|
||
- cmd/archivmail-export/main.go | 8 +++++++-
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-73-restliche-crash-haertung.md | 2 ++
|
||
- features/PROJ-74-test-suite-signatur-drift.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/api/api_test.go | 16 +++++++++------
|
||
- internal/audit/audit_test.go | 9 ++++----
|
||
- internal/auth/auth_test.go | 47 +++++++++++++++++++++++++++++++++++++++---
|
||
- internal/storage/storage.go | 7 +++----
|
||
- internal/storage/storage_test.go | 21 ++++++++++---------
|
||
- internal/userstore/userstore_test.go | 4 ++--
|
||
- pkg/mailparser/parser_test.go | 11 +++++++---
|
||
|
||
---
|
||
## 2026-08-05 14:10 – 14:12 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- cmd/archivmail-export/main.go | 8 +++++++-
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-73-restliche-crash-haertung.md | 2 ++
|
||
- features/PROJ-74-test-suite-signatur-drift.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/api/api_test.go | 16 +++++++++------
|
||
- internal/audit/audit_test.go | 9 ++++----
|
||
- internal/auth/auth_test.go | 47 +++++++++++++++++++++++++++++++++++++++---
|
||
- internal/storage/storage.go | 7 +++----
|
||
- internal/storage/storage_test.go | 21 ++++++++++---------
|
||
- internal/userstore/userstore_test.go | 4 ++--
|
||
- pkg/mailparser/parser_test.go | 11 +++++++---
|
||
|
||
---
|
||
## 2026-08-05 14:15 – 14:18 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- cmd/archivmail-export/main.go | 8 +++++++-
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-73-restliche-crash-haertung.md | 2 ++
|
||
- features/PROJ-74-test-suite-signatur-drift.md | 154 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/api/api_test.go | 16 +++++++++------
|
||
- internal/audit/audit_test.go | 9 ++++----
|
||
- internal/auth/auth_test.go | 47 +++++++++++++++++++++++++++++++++++++++---
|
||
- internal/storage/storage.go | 7 +++----
|
||
- internal/storage/storage_test.go | 21 ++++++++++---------
|
||
- internal/userstore/userstore_test.go | 4 ++--
|
||
- pkg/mailparser/parser_test.go | 11 +++++++---
|
||
|
||
---
|
||
## 2026-08-05 14:53 – 14:55 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- c753528 perf(PROJ-75): Partial Index gegen Seq-Scan in GetUnindexedMails
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-74-test-suite-signatur-drift.md | 2 ++
|
||
- features/PROJ-75-db-performance-audit.md | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/storage/storage.go | 3 ++
|
||
|
||
---
|
||
## 2026-08-05 14:57 – 15:00 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-74-test-suite-signatur-drift.md | 2 ++
|
||
- features/PROJ-75-db-performance-audit.md | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/storage/storage.go | 3 ++
|
||
|
||
---
|
||
## 2026-08-05 15:00 – 15:01 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-74-test-suite-signatur-drift.md | 2 ++
|
||
- features/PROJ-75-db-performance-audit.md | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/storage/storage.go | 3 ++
|
||
|
||
---
|
||
## 2026-08-05 15:02 – 15:02 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-74-test-suite-signatur-drift.md | 2 ++
|
||
- features/PROJ-75-db-performance-audit.md | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/storage/storage.go | 3 ++
|
||
|
||
---
|
||
## 2026-08-05 15:03 – 15:04 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-74-test-suite-signatur-drift.md | 2 ++
|
||
- features/PROJ-75-db-performance-audit.md | 211 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- internal/storage/storage.go | 3 ++
|
||
|
||
---
|
||
## 2026-08-05 15:05 – 15:05 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- e59b117 perf(PROJ-77): Admin-Tabs per next/dynamic laden statt statisch importieren
|
||
- 209fdeb fix(PROJ-76): Mail-HTML-Sanitizing schließt CSS-url()/link/background/srcset ein
|
||
|
||
### Geänderte Dateien
|
||
- features/PROJ-77-admin-tabs-dynamic-import.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/admin/page.tsx | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
|
||
- src/components/admin/TabSkeleton.tsx | 22 ++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-05 15:05 – 15:07 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/PROJ-77-admin-tabs-dynamic-import.md | 82 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/admin/page.tsx | 98 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------
|
||
- src/components/admin/TabSkeleton.tsx | 22 ++++++++++++++++++++++
|
||
|
||
---
|
||
## 2026-08-05 15:11 – 15:11 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- 16bf388 perf(PROJ-78): Suchfeld-Debounce + stabile Callbacks gegen Re-Render-Spam
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-78-search-results-rerender-perf.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/search/page.tsx | 2 +-
|
||
- src/components/search/SearchFilterBar.tsx | 38 +++++++++++++++++++++++++++++++++++---
|
||
- src/components/search/SearchResultsTable.tsx | 7 ++++++-
|
||
- src/hooks/useSearch.ts | 55 ++++++++++++++++++++++++++++++++++++++++++++-----------
|
||
|
||
---
|
||
## 2026-08-05 15:21 – 15:23 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-78-search-results-rerender-perf.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/search/page.tsx | 2 +-
|
||
- src/components/search/SearchFilterBar.tsx | 38 +++++++++++++++++++++++++++++++++++---
|
||
- src/components/search/SearchResultsTable.tsx | 7 ++++++-
|
||
- src/hooks/useSearch.ts | 55 ++++++++++++++++++++++++++++++++++++++++++++-----------
|
||
|
||
---
|
||
## 2026-08-05 16:40 – 16:43 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-78-search-results-rerender-perf.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/search/page.tsx | 2 +-
|
||
- src/components/search/SearchFilterBar.tsx | 38 +++++++++++++++++++++++++++++++++++---
|
||
- src/components/search/SearchResultsTable.tsx | 7 ++++++-
|
||
- src/hooks/useSearch.ts | 55 ++++++++++++++++++++++++++++++++++++++++++++-----------
|
||
|
||
---
|
||
## 2026-08-05 16:47 – 16:47 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-78-search-results-rerender-perf.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/search/page.tsx | 2 +-
|
||
- src/components/search/SearchFilterBar.tsx | 38 +++++++++++++++++++++++++++++++++++---
|
||
- src/components/search/SearchResultsTable.tsx | 7 ++++++-
|
||
- src/hooks/useSearch.ts | 55 ++++++++++++++++++++++++++++++++++++++++++++-----------
|
||
|
||
---
|
||
## 2026-08-05 16:47 – 16:47 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-78-search-results-rerender-perf.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/search/page.tsx | 2 +-
|
||
- src/components/search/SearchFilterBar.tsx | 38 +++++++++++++++++++++++++++++++++++---
|
||
- src/components/search/SearchResultsTable.tsx | 7 ++++++-
|
||
- src/hooks/useSearch.ts | 55 ++++++++++++++++++++++++++++++++++++++++++++-----------
|
||
|
||
---
|
||
## 2026-08-05 17:08 – 17:08 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-78-search-results-rerender-perf.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/search/page.tsx | 2 +-
|
||
- src/components/search/SearchFilterBar.tsx | 38 +++++++++++++++++++++++++++++++++++---
|
||
- src/components/search/SearchResultsTable.tsx | 7 ++++++-
|
||
- src/hooks/useSearch.ts | 55 ++++++++++++++++++++++++++++++++++++++++++++-----------
|
||
|
||
---
|
||
## 2026-08-05 17:08 – 17:24 (15m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 2 +-
|
||
- features/PROJ-78-search-results-rerender-perf.md | 97 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||
- src/app/search/page.tsx | 2 +-
|
||
- src/components/search/SearchFilterBar.tsx | 38 +++++++++++++++++++++++++++++++++++---
|
||
- src/components/search/SearchResultsTable.tsx | 7 ++++++-
|
||
- src/hooks/useSearch.ts | 55 ++++++++++++++++++++++++++++++++++++++++++++-----------
|
||
|
||
---
|
||
## 2026-08-05 17:34 – 17:37 (2m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- a2e45b9 chore(PROJ-79): lucide-react Major-Upgrade + npm audit fix + Deploy-Warn-Gate
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 3 +-
|
||
- features/PROJ-79-dependency-major-upgrades.md | 108 ++++++++++++++++++++
|
||
- package-lock.json | 651 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------
|
||
- package.json | 2 +-
|
||
- update.sh | 5 +
|
||
|
||
---
|
||
## 2026-08-05 17:39 – 17:39 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 3 +-
|
||
- features/PROJ-79-dependency-major-upgrades.md | 108 ++++++++++++++++++++
|
||
- package-lock.json | 651 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------
|
||
- package.json | 2 +-
|
||
- update.sh | 5 +
|
||
|
||
---
|
||
## 2026-08-05 20:45 – 20:45 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 3 +-
|
||
- features/PROJ-79-dependency-major-upgrades.md | 108 ++++++++++++++++++++
|
||
- package-lock.json | 651 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------
|
||
- package.json | 2 +-
|
||
- update.sh | 5 +
|
||
|
||
---
|
||
## 2026-08-05 20:46 – 20:46 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 3 +-
|
||
- features/PROJ-79-dependency-major-upgrades.md | 108 ++++++++++++++++++++
|
||
- package-lock.json | 651 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------
|
||
- package.json | 2 +-
|
||
- update.sh | 5 +
|
||
|
||
---
|
||
## 2026-08-05 20:48 – 20:48 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 3 +-
|
||
- features/PROJ-79-dependency-major-upgrades.md | 108 ++++++++++++++++++++
|
||
- package-lock.json | 651 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------
|
||
- package.json | 2 +-
|
||
- update.sh | 5 +
|
||
|
||
---
|
||
## 2026-08-05 20:51 – 20:51 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 3 +-
|
||
- features/PROJ-79-dependency-major-upgrades.md | 108 ++++++++++++++++++++
|
||
- package-lock.json | 651 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------
|
||
- package.json | 2 +-
|
||
- update.sh | 5 +
|
||
|
||
---
|
||
## 2026-08-05 20:51 – 20:54 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/INDEX.md | 3 +-
|
||
- features/PROJ-79-dependency-major-upgrades.md | 108 ++++++++++++++++++++
|
||
- package-lock.json | 651 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------------------------------------------
|
||
- package.json | 2 +-
|
||
- update.sh | 5 +
|
||
|
||
---
|
||
## 2026-08-05 20:55 – 21:14 (18m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- d1b4497 fix(PROJ-79): next lint kaputt seit Next-16-Upgrade repariert + 30 Findings gefixt
|
||
|
||
### Geänderte Dateien
|
||
- .eslintrc.json | 3 -
|
||
- eslint.config.mjs | 17 ++
|
||
- features/INDEX.md | 12 +-
|
||
- features/PROJ-73-restliche-crash-haertung.md | 4 +-
|
||
- features/PROJ-74-test-suite-signatur-drift.md | 4 +-
|
||
- features/PROJ-75-db-performance-audit.md | 8 +-
|
||
- features/PROJ-76-mail-html-sanitizing-luecken.md | 4 +-
|
||
- features/PROJ-77-admin-tabs-dynamic-import.md | 4 +-
|
||
- features/PROJ-78-search-results-rerender-perf.md | 4 +-
|
||
- features/PROJ-79-dependency-major-upgrades.md | 160 +++++++++++++++++++
|
||
- package-lock.json | 969 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------
|
||
- package.json | 6 +-
|
||
- src/app/admin/login/page.tsx | 5 +-
|
||
- src/app/forgot-password/page.tsx | 5 +-
|
||
- src/app/mail/[id]/page.tsx | 1 -
|
||
- src/app/pop3/page.tsx | 13 +-
|
||
- src/app/reset-password/page.tsx | 10 +-
|
||
- src/app/search/page.tsx | 11 +-
|
||
- src/app/signup/page.tsx | 15 +-
|
||
- src/app/verify/page.tsx | 25 ++-
|
||
- src/components/admin/TenantLDAPDialog.tsx | 5 +-
|
||
- src/components/admin/tabs/ArchivingRulesTab.tsx | 5 +-
|
||
- src/components/admin/tabs/DSGVOTab.tsx | 5 +-
|
||
- src/components/admin/tabs/QuotaTab.tsx | 7 +-
|
||
- src/components/admin/tabs/ReconciliationCard.tsx | 5 +-
|
||
- src/components/admin/tabs/RetentionTab.tsx | 7 +-
|
||
- src/components/admin/tabs/RoutingRulesTab.tsx | 5 +-
|
||
- src/components/admin/tabs/SMTPOutTab.tsx | 7 +-
|
||
- src/components/settings/TotpSection.tsx | 1 +
|
||
- src/components/ui/sidebar.tsx | 1 +
|
||
- src/hooks/use-mobile.tsx | 32 ++--
|
||
- src/hooks/useAdminDashboard.ts | 9 +-
|
||
- src/hooks/useAuth.ts | 5 +-
|
||
- src/hooks/useImapAccounts.ts | 6 +-
|
||
- src/hooks/useSavedSearches.ts | 25 ++-
|
||
- src/hooks/useSearch.ts | 51 ++++--
|
||
- src/hooks/useSystemInfo.ts | 3 +-
|
||
|
||
---
|
||
## 2026-08-05 21:19 – 21:23 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- .eslintrc.json | 3 -
|
||
- eslint.config.mjs | 17 ++
|
||
- features/INDEX.md | 12 +-
|
||
- features/PROJ-73-restliche-crash-haertung.md | 4 +-
|
||
- features/PROJ-74-test-suite-signatur-drift.md | 4 +-
|
||
- features/PROJ-75-db-performance-audit.md | 8 +-
|
||
- features/PROJ-76-mail-html-sanitizing-luecken.md | 4 +-
|
||
- features/PROJ-77-admin-tabs-dynamic-import.md | 4 +-
|
||
- features/PROJ-78-search-results-rerender-perf.md | 4 +-
|
||
- features/PROJ-79-dependency-major-upgrades.md | 160 +++++++++++++++++++
|
||
- package-lock.json | 969 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------------------
|
||
- package.json | 6 +-
|
||
- src/app/admin/login/page.tsx | 5 +-
|
||
- src/app/forgot-password/page.tsx | 5 +-
|
||
- src/app/mail/[id]/page.tsx | 1 -
|
||
- src/app/pop3/page.tsx | 13 +-
|
||
- src/app/reset-password/page.tsx | 10 +-
|
||
- src/app/search/page.tsx | 11 +-
|
||
- src/app/signup/page.tsx | 15 +-
|
||
- src/app/verify/page.tsx | 25 ++-
|
||
- src/components/admin/TenantLDAPDialog.tsx | 5 +-
|
||
- src/components/admin/tabs/ArchivingRulesTab.tsx | 5 +-
|
||
- src/components/admin/tabs/DSGVOTab.tsx | 5 +-
|
||
- src/components/admin/tabs/QuotaTab.tsx | 7 +-
|
||
- src/components/admin/tabs/ReconciliationCard.tsx | 5 +-
|
||
- src/components/admin/tabs/RetentionTab.tsx | 7 +-
|
||
- src/components/admin/tabs/RoutingRulesTab.tsx | 5 +-
|
||
- src/components/admin/tabs/SMTPOutTab.tsx | 7 +-
|
||
- src/components/settings/TotpSection.tsx | 1 +
|
||
- src/components/ui/sidebar.tsx | 1 +
|
||
- src/hooks/use-mobile.tsx | 32 ++--
|
||
- src/hooks/useAdminDashboard.ts | 9 +-
|
||
- src/hooks/useAuth.ts | 5 +-
|
||
- src/hooks/useImapAccounts.ts | 6 +-
|
||
- src/hooks/useSavedSearches.ts | 25 ++-
|
||
- src/hooks/useSearch.ts | 51 ++++--
|
||
- src/hooks/useSystemInfo.ts | 3 +-
|
||
|
||
---
|
||
## 2026-08-05 21:28 – 21:36 (8m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- edf6f43 fix: Cert-Renewal-Handler kann /etc/ssl/archivmail nicht beschreiben (systemd-Sandbox)
|
||
|
||
### Geänderte Dateien
|
||
- features/PROJ-79-dependency-major-upgrades.md | 8 +++++++-
|
||
- update.sh | 4 ++--
|
||
|
||
---
|
||
## 2026-08-05 21:36 – 21:41 (4m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- features/PROJ-79-dependency-major-upgrades.md | 8 +++++++-
|
||
- update.sh | 4 ++--
|
||
|
||
---
|
||
## 2026-08-05 21:44 – 21:46 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- 5c3d38a fix(security): Tracking-Pixel-Blocker lässt Backslash-Varianten von https:// durch
|
||
|
||
### Geänderte Dateien
|
||
- src/app/mail/[id]/page.tsx | 6 +++++-
|
||
|
||
---
|
||
## 2026-08-05 21:53 – 21:54 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- src/app/mail/[id]/page.tsx | 6 +++++-
|
||
|
||
---
|
||
## 2026-08-05 21:57 – 21:57 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- src/app/mail/[id]/page.tsx | 6 +++++-
|
||
|
||
---
|
||
## 2026-08-05 21:58 – 21:59 (1m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- src/app/mail/[id]/page.tsx | 6 +++++-
|
||
|
||
---
|
||
## 2026-08-05 22:01 – 22:02 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- src/app/mail/[id]/page.tsx | 6 +++++-
|
||
|
||
---
|
||
## 2026-08-05 22:02 – 22:03 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- src/app/mail/[id]/page.tsx | 6 +++++-
|
||
|
||
---
|
||
## 2026-08-05 22:05 – 22:05 (0m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- src/app/mail/[id]/page.tsx | 6 +++++-
|
||
|
||
---
|
||
## 2026-08-05 22:08 – 22:12 (3m)
|
||
**Beschreibung:** Claude Code Session
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
Keine Commits in dieser Session.
|
||
|
||
### Geänderte Dateien
|
||
- src/app/mail/[id]/page.tsx | 6 +++++-
|
||
|
||
---
|
||
## 2026-08-06 12:15 – 14:44
|
||
**Beschreibung:** Claude Code Session – PROJ-79 abgeschlossen (Frontend-Dependency-Major-Upgrades)
|
||
**Projekt:** archivmail
|
||
|
||
### Commits
|
||
- fa8c5dd chore(PROJ-79): @types/node Patch-Update auf ^20.19.43
|
||
- 824b24f feat(PROJ-79): tailwindcss v3 -> v4 + tailwind-merge v3 Upgrade
|
||
- 61c004c docs(PROJ-79): tailwindcss-v4-Deploy auf 132+131 dokumentiert
|
||
- 4d25b11 feat(PROJ-79): typescript 5 -> 6.0.3, PROJ-79 abgeschlossen
|
||
|
||
### Zusammenfassung
|
||
- `@types/node`: Node-Version auf 131/132 verifiziert (v20.19.2, identisch) – kein Sprung auf ^26, nur Patch-Update ^20.19.43.
|
||
- `tailwindcss` v3→v4 + `tailwind-merge` v3 (gekoppelt) via offiziellem Migrationstool. Codemod-Bug gefunden und gefixt (`variant="outline"` fälschlich zu `outline-solid` umbenannt). Neue Lint-Regel gegen `*-opacity-*`-Utilities ergänzt. Visueller Regressionstest via HTTP/HTML-Sanity-Check (kein Browser-Tool verfügbar).
|
||
- `eslint` 10 und `typescript` 7 getestet, beide an Ökosystem-Blockern gescheitert (`eslint-plugin-react` bzw. `typescript-eslint` unterstützen die neuen Majors noch nicht) – dokumentiert zurückgestellt, `typescript` auf 6.0.3 angehoben (Zwischenschritt).
|
||
- Alle Schritte einzeln auf 132 verifiziert, dann auf 131 deployed. Beide Server grün, Health-Checks ok.
|
||
- PROJ-79 Status auf Deployed gesetzt (features/INDEX.md, Feature-Spec).
|
||
|
||
---
|