-
Notifications
You must be signed in to change notification settings - Fork 246
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
0.6.x breaks caching clients that connected to 0.5.x in the past #512
Comments
Excerpt from protocol trace with Thunderbird client:
Horribly broken in multiple obvious ways (duplicate sequence numbers, UID not sorted) |
looks like you're on it! That explains why I'm seeing issues you did not see in testing. |
Lack of UIDs sorting trips go-imap-mess algorithms that expect sorted uidsMap (e.g. for binary search). See foxcpp/maddy#512
I pushed the commit to master that should fix the issue. The issue was caused by go-imap-sql passing unsorted UIDs list to go-imap-mess which uses binary search and therefore misbehaves when given an unsorted input. The bug did not manifest itself in 0.6 testing because regular server operation keeps the database tables sorted already, however 0.5->0.6 schema upgrade reordered some UIDs, revealing the issue. |
working here -- thanks! |
Lack of UIDs sorting trips go-imap-mess algorithms that expect sorted uidsMap (e.g. for binary search). See foxcpp/maddy#512
For some reason, clients do not show all messages if the database was created in 0.5.
Freshly created databases in 0.6 do not have the same issue.
Different clients show different messages,
maddy imap-msgs
correctly shows all messages.If a new message is added, some (?) clients refresh and show all messages again.
The text was updated successfully, but these errors were encountered: