Fixes a draft bug that loses recipients, and makes compose dramatically faster with large lists.
Three of the four fixes below are inherited bugs that SnappyMail still has, one of them five years old.
Compose with 1,000 recipients: 20+ seconds down to under a second
Opening a compose window with 1,000 selected contacts, or reopening a draft with that many, took over twenty seconds and looked like it had crashed. It is now under a second.
The recipient field rebuilt every chip from scratch each time one was added. Inserting 1,000 addresses meant 500,500 chip builds and roughly 1.5 million DOM nodes created to display 3,000. It now renders once, at the end.
This has been in the code since February 2021, so it affects SnappyMail too.
Large recipient lists no longer get truncated
A message with more than 100 recipients, saved as a draft and reopened, came back with exactly 100. Saving again made that permanent. Reported by @lvarnava in #18.
Two separate hardcoded limits, which is why the 4.0.2 fix didn't cure it. One truncated every address list on its way to the browser, so the draft genuinely arrived short. That one dates to March 2023 and is still in SnappyMail. The other capped contact group expansion at 100 members and now follows the recipient limit set in the admin panel.
Copy recipients out of a field
Double-click an empty part of a To, Cc or Bcc field and it becomes a plain text box holding the whole comma-separated list, already selected, so Ctrl+C copies it and the entire list can be edited at once. Click away to turn it back into chips, or press Escape to discard. Asked for in #24 by @lvarnava.
Recipient chips have never been copyable, in Tachyon or SnappyMail, because they hold no selectable text. Pasting a comma-separated list already worked and is unchanged.
Contact groups insert their members
Picking a group in To, Cc or Bcc used to insert a single group tag that only became real addresses when the message was sent. The members now appear immediately as individual recipients, exactly as if the group had been selected in the contacts manager, so one can be removed when only nine of ten should get the mail.
Contact groups are a Tachyon feature, so this one is ours alone.
Nextcloud
Tachyon's settings sat in the catch-all "Additional settings" with nothing to say they belonged to a mail client. They now have their own Tachyon Email section in the settings sidebar, for both admins and users.
This will probably be the last release for a few weeks, as other obligations take priority. Issues and pull requests are still very welcome in the meantime.