mirror of
https://github.com/Foundry376/Mailspring.git
synced 2024-09-24 01:06:07 +08:00
70a4b0fdcf
Summary: Currently, our mail sync strategy of expanding UID ranges from UIDNEXT backwards until a UID of 1 implicitly assumes that every UID corresponds to an actual message. This assumption is incorrect, and results in several significant bugs regarding sync status. This patch fixes issue 1: Since UIDs are persistent and, so long as the UIDVALIDITY is valid, ascend monotonically upward, every time you move a message to a new folder you "lose" UIDs lower down in the range. In my work Inbox, where I get a lot of mail, archive all the time, and generally have only a small number of threads in the mailbox, the smallest UID is over 100k. This means that, after all my inbox messages are synced, the sync loop will continue attempting to download nonexistent old messages in this mailbox for hundreds of sync iterations, and will not mark the mailbox as fully synced until fetchmin reaches 1, regardless of the fact that there are no actually messages being pulled down. This patch needs a small associated patch to N1 to update how sync status is calculated (coming soon). The next patch in this series will deal with gaps in the UIDspace that slow down syncing of a folder. Test Plan: manual Reviewers: halla, juan Reviewed By: juan Differential Revision: https://phab.nylas.com/D3677 |
||
---|---|---|
.. | ||
images | ||
spec | ||
src | ||
stylesheets | ||
main.es6 | ||
package.json |