github maathimself/mailflow v3.5.1

5 hours ago

MailFlow v3.5.1

A data loss fix in the draft routes, plus the sidebar and move picker fixes from this week's contributor PRs.

The important one

  • Saving or discarding a draft could permanently delete other mail (#458), found and fixed by @Monkey7539. Both draft routes expunged a message using a folder the client supplied, checking only that the account belonged to the requesting user, never that the folder was actually a Drafts folder.

    This was reachable from the UI. In a Drafts view every clicked row opens in compose as a draft carrying its own folder, and that includes results from other folders when you use an in: search or search all folders. Saving or discarding one of those would expunge the original message from Inbox or Archive. An expunge is permanent, not a move to Trash.

    Both routes now verify the target is a Drafts folder before deleting: the canonical mapping, the folder drafts are appended to, or a folder the server itself marks \Drafts. The delete on save also happens only after the new copy is safely stored.

    If you use drafts, upgrade.

Fixed

  • Folder rows refused drops at some points (#456), contributed by @Monkey7539. The row wrapper won drag hit-tests at sub-pixel offsets, so on scaled displays parts of a folder row silently rejected a dragged message.
  • Adjacent sidebar folders rendered as one conjoined highlight (#446), contributed by @facundopignanelli. Folder rows now carry proper spacing.
  • Android notification badge rendered as a filled square (#447), contributed by @facundopignanelli. The PWA now provides a monochrome badge, which is what Android's status bar expects.

Added

  • Warning before downloading a risky attachment (#451), contributed by @Monkey7539. Executables and other risky file types now prompt for confirmation first.
  • Hover-scroll for truncated folder paths in the move picker (#411), contributed by @Monkey7539. Long paths scroll on hover instead of clipping.

Upgrading

docker compose pull && docker compose up -d

Images: ghcr.io/maathimself/mailflow-backend:3.5.1 and ghcr.io/maathimself/mailflow-frontend:3.5.1

Don't miss a new mailflow release

NewReleases is sending notifications on new releases.