fix(postfach): Zeitgrenze gilt auch in Folgelaeufen des Erstabgleichs
Lehnt Graph den Serverfilter ab, laeuft der Erstabgleich ohne Filter - und zieht sich dann ueber mehrere Laeufe. Der Merker dafuer galt nur im ersten Lauf, in allen folgenden waere der Rest des Postfachs trotz eingestellter Grenze hereingekommen. Die Grenze wird jetzt immer geprueft, und zwar nur fuer noch unbekannte Mails: eine bereits gespiegelte Mail soll auch dann aktualisiert werden, wenn sie aus dem Zeitfenster gelaufen ist. insertCandidates() gibt die Zeilen jetzt in der Form der Datenbank zurueck. Die Umformung an der Aufrufstelle waere bei jedem neuen Feld still auseinandergelaufen und haette es bei der automatischen Uebernahme verloren. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
6fd713497d
commit
8090d0aae1
+9
-4
@@ -125,6 +125,7 @@ sequenceDiagram
|
||||
G-->>Y: Seite mit Metadaten + nextLink/deltaLink
|
||||
loop je Nachricht
|
||||
Y->>D: bekannt? Text vorhanden?
|
||||
Note over Y: unbekannt und aelter als die Grenze? dann weiter
|
||||
opt Text fehlt
|
||||
Y->>G: /messages/{id}?$select=body
|
||||
end
|
||||
@@ -156,10 +157,14 @@ Wesentliche Eigenschaften:
|
||||
* **Nur Metadaten in der Delta-Abfrage.** Der Mailtext wird einzeln nachgeholt
|
||||
und nur, wenn er fehlt. Ein reines Metadaten-Update (etwa ein geaendertes
|
||||
Gelesen-Kennzeichen) loescht den gespeicherten Text nicht.
|
||||
* **Zeitfilter mit Ersatzweg.** Der Erstabgleich versucht
|
||||
`$filter=receivedDateTime ge ...`. Die Filterunterstuetzung in Delta-Abfragen
|
||||
ist eng begrenzt; lehnt Graph ab (400), laeuft der Abgleich ohne Filter und die
|
||||
Zeitgrenze greift beim Speichern.
|
||||
* **Zeitgrenze doppelt.** Der Erstabgleich versucht
|
||||
`$filter=receivedDateTime ge ...`; die Filterunterstuetzung in Delta-Abfragen
|
||||
ist eng begrenzt, bei einem 400 laeuft er ohne Filter weiter. Der Filter ist
|
||||
deshalb nur eine Ersparnis - geprueft wird die Grenze **immer** beim Speichern,
|
||||
und zwar nur fuer noch unbekannte Mails. Ein an den ersten Lauf gebundener
|
||||
Merker waere hier falsch: ein ungefilterter Erstabgleich zieht sich ueber
|
||||
mehrere Laeufe, und in den folgenden kaeme der Rest des Postfachs trotz Grenze
|
||||
herein.
|
||||
|
||||
Im Postfach geloeschte Mails werden mit `is_deleted = 1` gekennzeichnet, nicht
|
||||
entfernt: eine an eine Opportunity gehaengte Mail soll nicht aus dem CRM
|
||||
|
||||
Reference in New Issue
Block a user