maxage: fix timezone issues, remove IMAP-IMAP support, add startdate option
1. When using maxage, local and remote messagelists are supposed to only contain messages from at most maxage days ago. But local and remote used different timezones to calculate what "maxage days ago" means, resulting in removals on one side. Now, we ask the local folder for maxage days' worth of mail, find the lowest UID, and then ask the remote folder for all UID's starting with that lowest one. 2. maxage was fundamentally wrong in the IMAP-IMAP case: it assumed that remote messages have UIDs in the same order as their local counterparts, which could be false, e.g. when messages are copied in quick succession. So, remove support for maxage in the IMAP-IMAP case. 3. Add startdate option for IMAP-IMAP syncs: use messages from the given repository starting at startdate, and all messages from the other repository. In the first sync, the other repository must be empty. 4. Allow maxage to be specified either as number of days to sync (as previously) or as a fixed date. Signed-off-by: Janna Martl <janna.martl109@gmail.com> Signed-off-by: Nicolas Sebrecht <nicolas.s-dev@laposte.net>
This commit is contained in:

committed by
Nicolas Sebrecht

parent
71693b7d8c
commit
8096f6cd5b
@ -135,7 +135,8 @@ Ignore any autorefresh setting in the configuration file.
|
||||
Run only quick synchronizations.
|
||||
+
|
||||
Ignore any flag updates on IMAP servers. If a flag on the remote IMAP changes,
|
||||
and we have the message locally, it will be left untouched in a quick run.
|
||||
and we have the message locally, it will be left untouched in a quick run. This
|
||||
option is ignored if maxage is set.
|
||||
|
||||
|
||||
-u <UI>::
|
||||
@ -400,8 +401,19 @@ If you then point your local mutt, or whatever MUA you use to `~/mail/`
|
||||
as root, it should still recognize all folders.
|
||||
|
||||
|
||||
Authors
|
||||
-------
|
||||
* Edge cases with maxage causing too many messages to be synced.
|
||||
+
|
||||
All messages from at most maxage days ago (+/- a few hours, depending on
|
||||
timezones) are synced, but there are cases in which older messages can also be
|
||||
synced. This happens when a message's UID is significantly higher than those of
|
||||
other messages with similar dates, e.g. when messages are added to the local
|
||||
folder behind offlineimap's back, causing them to get assigned a new UID, or
|
||||
when offlineimap first syncs a pre-existing Maildir. In the latter case, it
|
||||
could appear as if a noticeable and random subset of old messages are synced.
|
||||
|
||||
|
||||
Main authors
|
||||
------------
|
||||
|
||||
John Goerzen, Sebastian Spaetz, Eygene Ryabinkin, Nicolas Sebrecht.
|
||||
|
||||
|
Reference in New Issue
Block a user