github cristianadrielbraun/gofer v0.24.0

42 minutes ago

This release gives compose a full formatting toolbar, with a plain text mode and tables, and lets every folder choice be searched in one folder picker. Accounts get a sender name and a default identity, the mail list counts whole conversations, themes can set text weights and the logo color, and IMAP accounts learn how many folders their server lets them watch in real time.

Compose

  • Compose has a plain text mode, from a button at the end of the toolbar. In plain text the editor takes text only: pasted content arrives as text, and dropped or pasted images become attachments. Switching asks first when something would be lost; lists keep their bullets and numbers, quotes become "> " lines and links keep their address. Plain text messages and drafts are sent and saved with a text part alone, and a plain text draft reopens in plain text.
  • Settings › Compose has a Message format choice for new messages. Replies and forwards of plain text messages start in plain text.
  • The toolbar gains undo and redo, clear formatting, indent and outdent, alignment, a horizontal line, a text size menu (heading, subheading, huge, large, normal, small), text color and highlight. Tab and Shift+Tab nest list items.
  • Tables: Insert table opens an 8 × 8 grid to pick the size. With the caret in a cell, a floating bar adds or deletes rows and columns, or the whole table. Tab moves to the next cell and adds a row in the last one. Table edits can be undone, and tables reach recipients with their borders.
  • Links show a floating bar with their address and ways to open, edit or remove them. The link dialog asks for the text to show as well as the address, and Ctrl+K edits the link under the caret.
  • When the window is narrow, the toolbar folds its tools into a ⋯ menu instead of wrapping. Every button and menu has a tooltip.
  • Bulleted and numbered lists show their bullets and numbers in the editor and the signature editor. (#100)
  • New messages and replies leave one blank line above the signature, instead of four or five. (#110)

Folder picker

Every place that asks for a folder now uses the folder picker from Search's "Choose folders". (#99)

  • It shows accounts under headers that stay in view and each folder's path under its name, with its own icon and color. The search looks at the account and the whole path, so a parent's name finds the folders inside it. A path that doesn't fit shows whole in a tooltip.
  • It's used by the Move dialog for mail, moving a folder, a rule's "In folder", "Move to" and "Run now" folders, the target folder of an import or a transfer, and an IMAP account's folder roles.
  • A rule's Run now can now look in any folder of the accounts the rule is for, such as one account's Inbox.

Sender name and default identity

An account's name was also the name its mail went out under, so an account named "Work" sent mail as "Work". (#104)

  • The Identities dialog sets a sender name for the account's own address. Left empty, mail goes out under the account name as before. Mail, calendar replies, forwards and the organizer of new events all use it.
  • A star next to each address makes it the one new messages start from. Replies and forwards still pick the address the mail was sent to, and drafts keep theirs.
  • Profiles carry both settings.

Conversations in the mail list

  • A conversation's count in the list only counted its messages in that folder, so a message in Inbox with its reply in Sent showed no count and no expand toggle. Lists, their totals, the Conversations filter and the reading pane now count the whole conversation the same way. Search still counts only the searched folders. (#109)
  • An expanded conversation shows every message, the row's own included, in the reading pane's order. Messages filed elsewhere, like a reply in Sent seen from Inbox, are tagged with their folder.

Text weight and logo color

Thanks to @gandaldf for the idea (#105):

  • Settings › Appearance has a Text weight card that makes Navigation, Lists, Details, Headings or Controls lighter or bolder, in five steps. Unread mail stays heavier than read mail at any setting. What people write keeps its own weight. The card works without GOFER_GOOGLE_FONTS, since the built-in fonts now carry their whole weight range, and a chosen Google font is fetched in every weight it has. Express keeps its own font, so the card is greyed out there.
  • The theme builder has a Logo color: following the primary color (the default), the secondary color, Gofer's copper, or any color. It's also in the fine-tune color editor, so Classic and Minimal can recolor it. The sign-in pages and the browser tab keep the original logo.

Real-time folders on IMAP

Every folder in Real-time holds its own connection, and mail servers limit how many one mailbox may hold without saying how many. Yahoo refuses every login, for hours, once a mailbox holds a handful. (#111)

  • Gofer now learns the limit for each account. It starts at 3 folders, tries one more after a day without a refusal, up to 15, and goes back to what worked when the server refuses. Inbox is watched first, then the folders in sidebar order. The others are checked on the schedule.
  • The account's sync settings show a note when more folders are in Real-time than the account may watch, naming the limit, when the server last refused and the folders checked on the schedule instead.
  • A login refused with [UNAVAILABLE] now holds off further logins for that mailbox, as [LIMIT] already did, instead of every folder retrying and keeping the refusal going.
  • GOFER_IDLE_MAX_PER_MAILBOX starts every mailbox at a set number and never tries more.

Fixes and polish

  • Some IMAP servers, such as 139.com and 163.com, don't send UIDNEXT when a folder is opened, so no new mail came in after the first download. Thanks to @noir017 (#103).
  • CalDAV task lists are no longer synced as calendars, and tasks in a calendar are skipped instead of failing its sync. Task lists added before go away on the next calendar refresh. (#106)
  • Some CalDAV servers accept a request to expand recurring events but return them unexpanded, and sync failed with "the CalDAV server did not expand recurring events". Gofer now expands them itself. (#107)
  • The count pills in the mail and contacts list headers are visible in Classic dark, and Contacts no longer shows -1 while loading.
  • Read-only fields, such as those of identities from the provider, look greyed out.

Upgrade notes

  • ⚠️ This release upgrades the database (schemas 144 to 146). You can't go back to an older release afterwards, so back up your data directory first.
  • Each folder's conversation summary is rebuilt once, the first time it's opened, so the first visit to a large folder may take a moment.
  • IMAP accounts with more than 3 folders in Real-time will watch only 3 at first, and add more over the following days while the server allows it. Set GOFER_IDLE_MAX_PER_MAILBOX to start higher.
  • GOFER_IDLE_MAX_PER_MAILBOX is new and unset by default.

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.

Don't miss a new gofer release

NewReleases is sending notifications on new releases.