Remember the folder's UIDVALIDITY and the last UID read, once the core keeps a sync's state #34
Labels
No labels
bug
documentation
enhancement
performance
security
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
Postulo/postulo-imap#34
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
In the modes that do not flag messages (the mailbox left untouched, or a folder that keeps no keywords), every message the rules did not recognise is downloaded again on every pass, within the look-back.
What would change
{folder, uidvalidity, last_uid}in the per-connection state the core issue adds.UIDVALIDITYmatch, searchUID <last_uid+1>:* SINCE <date>and drop any UID not abovelast_uidfrom the answer (RFC 3501 6.4.8:n:*always includes the highest UID, even belown). IfUIDVALIDITYchanged, read the look-back as today.last_uidonly for batches read to the end, so a pass cut short resumes where it stopped. The keyword mode is unchanged.UIDVALIDITY/UIDNEXTin itsSELECTanswer and aUIDrange insearch.daysresets the state (the core drops it when the configuration is edited).CONDSTORE/QRESYNC (RFC 7162) is not needed: the plugin never revisits a message.
Accessibility
None.
The whole finding, with its measurements and decisions, is postulo/postulo#1165.
Found by the efficiency and reliability audit of 2026-10-30 (finding PR2; index postulo/postulo#1108). Checked against
mainatdaee30b15(2026-10-30).