-
Notifications
You must be signed in to change notification settings - Fork 259
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(imap): do a single full sync when QRESYNC is enabled #10035
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
st3iny
force-pushed
the
fix/imap/qresync-single-full-sync
branch
2 times, most recently
from
August 31, 2024 10:42
ba4f87f
to
f480790
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. Will also give this a test
Signed-off-by: Richard Steinmetz <[email protected]>
st3iny
force-pushed
the
fix/imap/qresync-single-full-sync
branch
from
September 23, 2024 08:16
da50bf2
to
73ceaf3
Compare
GretaD
approved these changes
Sep 25, 2024
/backport to stable4.0 |
/backport to stable3.7 |
2 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
To minimize the dependence on the cache, we should do a single full sync when
QRESYNC
is enabled. This is more efficient as Horde contains (andQRESYNC
provides) shortcuts for this case.This PR also makes sure that only a single sync token is used when
QRESYNC
is enabled. It will always be the new message token as it is the first one in the partial sync logic and will trigger the actual full sync.This is a follow-up to #8968. We already force all three criteria when
QRESYNC
is enabled and now we are only performing a single call to Horde for syncing.Background
The server reports all changes on the initial
EXAMINE
command whenQRESYNC
is enabled. Only new messages have to be fetched manually afterwards. Changed and vanished messages are reconciled right away without needing to perform any more fetch commands.