while such a thing is rather pointless, completely empty messages are
not forbidden. consequently, we should be able to deal with them, and
above all not crash.
nowadays, many servers offer STARTTLS on the default IMAP port 143
instead of (or in addition to) the traditional IMAP over SSL/TLS (IMAPS)
on port 993.
this patch has been fixed up somewhat by the maintainer.
the verbose summary was actually hard to read due to the numbers getting
lost between the words.
i considered highlighting the numbers using ansi escapes, but the
irregular structure would be still hard to parse, and the escapes would
be unsuitable for log files.
also considered was clustering the numbers at the beginnings of the
lines, but that would result in a messy sentence structure.
a proper tabular format would introduce a lot more spacing, and would be
a lot harder to implement for little tangible benefit.
i tried just using the progress counter format, but with plain numbers
instead of the "x/y", but it looked kinda stupid.
so instead use a slightly expanded, semi-tabular version of that, as
suggested by Akshay Hegde on the list. this format bears a risk of
exceeding 80 columns, and in log files the internal spacing looks kinda
out of place, but these should be minor issues in practice.
amends a1a3313e.
REF: <ZzwSfSZN-lNNK55D@akshay.is>
the problem is triggered by the source-side message disappearing
after a transaction to propagate it was started and then interrupted.
it seems tempting to centralize the null-check, but some of the other
branches are taken in situations where the relevant messages from the
source store have not been requested.
no autotest, as our test suite does not support injecting changes before
resuming.
amends 0089f49.
the algorithm is symmetrical, comparing the msgids that belong to the
paired uids. so it doesn't matter for recovering one side if the other
side's uidvalidity also changed. it does however impact our ability to
say on which side the change was genuine.
the pointless limitation was presumably a vestige from an earlier
iteration.
amends 77acc26 and 594e60b.
1 month ago
7 changed files with 60 additions and 52 deletions