MailFlow v3.5.2
Three bug fixes that affect everyone, plus the attachment-warning hardening from last week.
Fixed
-
Subjects with accented characters turned into
???after viewing full headers (#454), reported by @phonkala. Three separate defects, all in the same direction: the decoder read each header's declared charset and then ignored it, decoding everything as UTF-8; raw 8-bit bytes were destroyed before decoding could even run; and the headers endpoint re-derived the subject on every request and handed it back to the client, so a decoding flaw overwrote the message list and the open message with a worse value than was already on screen. Header text is now decoded in the charset it declares, the fallback is chosen per line so one bad header cannot spoil the rest, and that endpoint only fills in a subject when none was stored. This also repairs sender names in non-UTF-8 charsets. -
Unrelated messages merged into one conversation when their subjects matched (#468), reported by @fahadalisarwar1. When a message carries no
ReferencesorIn-Reply-Toheaders, MailFlow falls back to matching on subject so that replies from clients which strip those headers still thread. That fallback considered the sender not at all, so two automated notifications sharing a subject, from completely different senders, became one thread. A candidate must now also share a correspondent: some participant other than your own address or one of your aliases. Replies from the other party still thread, because that party is on both messages. -
Signed out roughly weekly however much you used MailFlow (#465), reported by @VinterSolen. The session cookie was refreshed only when the session changed, and reading mail changes nothing, so the browser kept the cookie issued at login and discarded it exactly seven days later, while the server still held the session it belonged to. Those seven days are now an idle window measured from your last activity, so ordinary use keeps you signed in. Note this is separate from the device-trust setting, which governs how long a device may skip 2FA and was working correctly.
-
The mark-unread button showed the mark-read icon (#463), contributed by @dcoffin88. Both controls in the message pane drew the wrong glyph.
Attachment warnings
Contributed by @Monkey7539, following up on #451:
- Download all now asks before fetching a risky file (#459). It previously zipped every attachment, dangerous ones included, on the first click.
- A trailing dot no longer hides an extension (#460).
invoice.exe.classified as safe, and Windows and browser download sanitizers drop the trailing dot when saving. - A document converted to RTF is no longer flagged as disguised (#461).
Letter.doc.rtfwas reported as a hidden extension. - More types that run code when opened are flagged (#462), including
rdp,py,msc,xlland Windows shortcut formats. - One shared tier list (#469, #470). The download warning and antispam now read the same block / warn / notice / decoy tiers, with a test that fails CI if the two copies drift.
Upgrading
docker compose pull && docker compose up -d
Images: ghcr.io/maathimself/mailflow-backend:3.5.2 and ghcr.io/maathimself/mailflow-frontend:3.5.2
Messages already threaded in your database keep their existing grouping; the threading fix applies to mail synced from here on.