This release lets you turn off grouping mail into conversations, choose the order of your accounts, and pick how message bodies look. It reworks the mail card, and adds a Helm chart, health checks and smoother shutdowns for server deployments. Thanks to @Bricklou for the Helm chart and the deployment fixes.
List mail message by message
- Settings → Mail has a new Group by conversation (threads) switch, on by default. Turned off, every mail list shows each message on its own row, and opening one shows just that message. (#22)
- With it off, Thread order fades out, the filter menu stops offering Threads, and typing "threads" or "has:thread" in search looks for the word.
- Message lists open about as fast as conversation lists, even in very large folders.
Account order
- Drag accounts into the order you want on the Accounts settings page, or use the arrow keys or Move up / Move down in each account's menu. The new order saves right away and applies everywhere accounts are listed. (#23)
- New accounts go after the others instead of in alphabetical order.
Mail cards
- The default card now shows every field: the account chip with its color marker, sender and date on top, the recipient and subject in the middle, and preview, labels and star at the bottom.
- The paperclip shows how many attachments a message has, not counting inline images. Cards have a new CC field (hidden by default) and a layout editor setting to hide the account marker.
- Card text is larger and sharper. Unread cards show sender, subject and date in the accent color with an accent outline.
- When a field is empty for a message, such as the thread count on a single message, the text next to it uses the space.
Message style
- Settings → Appearance has a Message style setting. Follow theme (the default) matches the color mode as before, Dark and Light recolor every message whatever the mode, and Original shows each message as the sender made it. The style button in the reading pane still switches a single message. (#20)
Server deployments
- A Helm chart for running Gofer on Kubernetes as a single replica, with Ingress or Gateway API HTTPRoute support. See charts/gofer/README.md.
/healthzand/readyzendpoints, and agofer healthcheckcommand. The Docker image now uses it as its HEALTHCHECK.- On SIGTERM, shared mode now finishes in-flight requests before exiting, waiting up to
GOFER_SHUTDOWN_TIMEOUT(default 20s). Open event streams no longer hold up shutdown. - Event streams send a keepalive every 20 seconds and turn off proxy buffering, so reverse proxies no longer cut them after a minute of quiet.
- Login throttling uses the real client address behind a trusted proxy (
GOFER_TRUSTED_PROXY_CIDRS). Before, every client behind the proxy shared one limit.
Fixes
- Opening a conversation marks all of its messages read. Before, only the opened message was marked, so older unread messages kept the conversation unread.
- Images in signatures now show up when composing and are sent as inline attachments. Before, they left an empty gap. (#18)
Upgrade notes
- ⚠️ This release upgrades the database (schema 125). You can't go back to an older release afterwards, so back up your data directory first. On large mailboxes the upgrade may take a few seconds longer to start.
- If you never changed the mail card layout, you get the new default card. Custom layouts are kept, and Reset layout switches to the new default.
- Compose uses your first account as the default sender, so reordering your accounts can change it.
Gofer remains pre-1.0. I'm actively using and improving it, but please keep backups and test your setup before relying on it for anything critical.