Repository navigation
Replies: 1 comment 1 reply
|
Thanks, this was a good find. The diagnosis is right: Tachyon already merged runs of UIDs into ranges, but only when they came in ascending order, and the message list sends them newest first, so nothing merged. That is why your log shows every UID on its own. The fix sorts the UIDs before merging them, so a whole folder goes out as a single range like It is in 4.6.0, so you can put |
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi @kimusan.
When performing bulk operations (such as cope,moving or deleting more than ~10,000 messages at once) in Tachyon v4.5.0, the operation fails with a CantMoveMessage[204] error caused by the IMAP server rejecting the command with Too long argument.
Root Cause:
In MailSo\Imap\Commands\Messages (and ImapClient), Tachyon sends the full list of message UIDs as a plain comma-separated string (e.g., UID MOVE 89015,89014,89013,...,72878 "Trash") instead of compressing consecutive UIDs into IMAP sequence ranges (e.g., 72878:89015).
When selecting ~11,000+ messages, the command line length exceeds the default 64 KB IMAP (dovecot) command limit on standard servers like Dovecot (imap_max_line_length), resulting in a BAD response.
Logs:
Suggested Fix:
The AI helped me create the query, so I'm not sure how correct the suggested solutions are.
For now, I've set the value 512k here:
As far as I understand, increasing this value entails the risk of increased RAM consumption and DoS attacks.
Thank you!
All reactions