fix: Abruf sucht nach Datum statt nach "ungelesen"

Auf UNSEEN zu filtern klingt sparsam, ist aber eine Falle: Wer eine Mail in
seinem Mailprogramm ansieht, bevor Certain sie geholt hat, verliert sie
dauerhaft – sie ist dann fuer immer gelesen. Genau das ist passiert, als die
Mails vor dem ersten Abruf schon in Gmail geoeffnet waren: Ergebnis "0 neu",
ohne jeden Hinweis auf die Ursache.

Gesucht wird jetzt ab dem letzten Abruf mit einem Tag Ueberlappung; dass
nichts doppelt ankommt, sichert die Message-ID ab.

Die Meldung nennt ausserdem, wie viele Mails ueberhaupt geprueft wurden.
"0 neu" allein liess offen, ob nichts da war oder nichts passte.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Guido
2026-08-22 20:25:47 +02:00
co-authored by Claude Opus 5
parent f3a08f2937
commit bfb6fa6b6d
5 changed files with 56 additions and 15 deletions
+4 -1
View File
@@ -87,7 +87,10 @@ export default function Postfaecher() {
setBusy(true);
try {
const r = await api.fetchMailSource(quelle.id);
toast(t("mailbox.fetched", { neu: r.neu, unklar: r.unklar }));
// „0 neu" allein sagt nicht, ob nichts da war oder nichts passte.
toast(r.gefunden === 0
? t("mailbox.fetchedNone")
: t("mailbox.fetched", { gefunden: r.gefunden, neu: r.neu, unklar: r.unklar }));
setUebergangen(r.ohne_zuordnung || []);
laden();
} catch (e) {