Defensive Fehlerbehandlung für nicht-RFC-konforme Mailserver beim
Import, mit dokumentierten Fallback-Pfaden statt Abbruch.
- client_real.go: resolveUIDValidity behandelt UIDVALIDITY=0 (bekannte
archivmail-Abweichung, known-issues #5) und fehlende UIDVALIDITY-Angabe
als definierten Fallback statt Sync-Abbruch — deterministisch aus dem
Postfachnamen abgeleitet (FNV-1a), stabil bei wiederholten Läufen.
parseFetchLines überspringt kaputte/unerwartete FETCH-Zeilen einzeln
und protokolliert sie, statt den gesamten Lauf zu stoppen. Neuer
Logger/WithLogger für nachvollziehbares Support-Logging.
- Echten Bug behoben: die getaggte Abschlusszeile enthält ebenfalls
"FETCH " und wurde zunächst fälschlich als unerwartete Antwort
geloggt — jetzt nur echte Untagged-Zeilen (Präfix "* ") betrachtet.
Prüfungen (alle real durchgeführt, siehe mail/docs/IMP-04-PRUEFPROTOKOLL.md):
1. TestResolveUIDValidity_ZeroTriggersDefinedFallbackNotAbort: Server
meldet real UIDVALIDITY=0, Sync liefert real Fallback statt Fehler.
2. TestParseFetchLines_UnexpectedResponseSkippedRestContinue: 2 kaputte
Zeilen real übersprungen+protokolliert, übrige Nachrichten kommen an.
3. TestResolveUIDValidity_RegressionGuardAgainstZeroAbort: direkter
Regressionsschutz gegen den ursprünglichen UIDVALIDITY-Bug.
Kein Umbau: imap/folderstate/scheduler.go unverändert.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HhgFcLS8tYMhDJpP74C6AQ