| Age | Commit message (Expand) | Author | Files | Lines |
| 9 hours | fix(drafts): list drafts as messages, not threadssignatures | Danilo M. | 1 | -10/+27 |
| 21 hours | fix(drafts): index a saved draft so it appears without a sync | Danilo M. | 5 | -1/+142 |
| 21 hours | fix(compose): a resumed draft does not re-seed on a From: change | Danilo M. | 1 | -0/+5 |
| 21 hours | feat(compose): the signature follows the account until it is chosen | Danilo M. | 1 | -5/+22 |
| 21 hours | fix(signatures): match the guard against on-disk text, newline and all | Danilo M. | 1 | -1/+24 |
| 22 hours | feat(compose): a signature switch on the editor bar | Danilo M. | 2 | -0/+169 |
| 22 hours | feat(config): read the three signature keys | Danilo M. | 2 | -0/+59 |
| 22 hours | feat(signatures): replace an existing signature, guarded by a match | Danilo M. | 1 | -7/+80 |
| 23 hours | feat(signatures): splice a signature into a buffer | Danilo M. | 1 | -3/+69 |
| 23 hours | feat(signatures): read a directory of markdown signatures | Danilo M. | 3 | -0/+144 |
| 24 hours | feat(queries): drop pinning, the menu is every saved query's home | Danilo M. | 6 | -81/+30 |
| 24 hours | feat(compose): offer Edit on a draft in the message pane's bar | Danilo M. | 2 | -8/+110 |
| 30 hours | feat(compose): open a draft to finish it | Danilo M. | 9 | -5/+262 |
| 30 hours | feat: add a Drafts filter, and close the composer with Ctrl+W | Danilo M. | 3 | -2/+35 |
| 31 hours | fix(compose): make the Send button a square that reads as one item | Danilo M. | 1 | -2/+16 |
| 31 hours | feat(compose): lay the composer out by scope | Danilo M. | 2 | -24/+215 |
| 31 hours | fix(ui): move Compose back, drop the bar below the header, size its icons | Danilo M. | 3 | -10/+31 |
| 31 hours | feat(ui): give the message pane its own action bar | Danilo M. | 4 | -9/+78 |
| 31 hours | fix(compose): default to quoting below, and focus the body on a reply | Danilo M. | 3 | -3/+14 |
| 32 hours | feat(messageview): give the notice bars a ground and a severity | Danilo M. | 2 | -15/+69 |
| 32 hours | fix(messageview): drop the receive-only ribbon when the pane is blanked | Danilo M. | 1 | -0/+8 |
| 32 hours | fix(compose): put the reply cursor on blank space, not on the quote | Danilo M. | 1 | -6/+9 |
| 46 hours | fix(compose): close every composer when the main window quits | Danilo M. | 1 | -0/+27 |
| 3 days | feat(compose): wire the composer into the main window, item 123compose-and-send | Danilo M. | 8 | -20/+998 |
| 3 days | feat(compose): the composer window, item 123 | Danilo M. | 3 | -0/+1075 |
| 4 days | feat(compose): the send popup and its undo window, item 123 | Danilo M. | 3 | -0/+464 |
| 4 days | feat(compose): register the six compose actions, item 123 | Danilo M. | 3 | -0/+141 |
| 4 days | feat(compose): transform the markdown buffer for the toolbar, item 123 | Danilo M. | 3 | -0/+259 |
| 4 days | feat(compose): derive a reply's recipients and headers, item 123 | Danilo M. | 6 | -4/+764 |
| 4 days | feat(compose): hand outgoing mail to the send command, item 123 | Danilo M. | 3 | -0/+362 |
| 4 days | feat(compose): save drafts atomically into a Maildir, item 123 | Danilo M. | 3 | -0/+143 |
| 5 days | fix(compose): refuse a directory attachment and a bad recipient, item 123 | Danilo M. | 1 | -19/+93 |
| 5 days | feat(compose): build outgoing messages with GMime, item 123 | Danilo M. | 3 | -0/+346 |
| 5 days | fix(config): reject garbage numerics instead of silently reading zero, item 123 | Danilo M. | 2 | -17/+94 |
| 5 days | refactor(maildir): extract freshMaildirName for reuse, item 123 | Danilo M. | 4 | -61/+125 |
| 5 days | fix(compose): correct the header's attribution and harden three tests, item 123 | Danilo M. | 2 | -6/+13 |
| 5 days | feat(config): send_command and the [compose] section, item 123 | Danilo M. | 3 | -0/+180 |
| 5 days | fix(compose): document what actually suppresses raw HTML, item 123 | Danilo M. | 1 | -4/+17 |
| 5 days | feat(compose): render markdown bodies with cmark-gfm, item 123 | Danilo M. | 3 | -1/+133 |
| 5 days | refactor(ui): extract the busy indicator into a widget, item 134 | Danilo M. | 5 | -12/+129 |
| 5 days | fix(pane): drop Save link from a link's context menu | Danilo M. | 1 | -0/+20 |
| 5 days | fix(pane): open a target="_blank" link, and drop the dead link actions | Danilo M. | 2 | -1/+177 |
| 5 days | fix(worker): read the mail root, not the index directory | Danilo M. | 1 | -4/+26 |
| 6 days | feat(pane): move the copy confirmation into the message pane | Danilo M. | 2 | -3/+135 |
| 6 days | fix(worker): give a moved message a fresh maildir name | Danilo M. | 1 | -4/+73 |
| 6 days | feat(pane): offer Select all, and report what a copy copied | Danilo M. | 2 | -4/+81 |
| 6 days | fix(trash): refresh the list when a restore empties a rowdelete-to-trash | Danilo M. | 1 | -0/+23 |
| 6 days | feat: find mail tagged deleted but never moved to trash | Danilo M. | 3 | -0/+69 |
| 7 days | feat(delete): bind Del, and resolve a restore against the database | Danilo M. | 6 | -6/+232 |
| 7 days | feat(trash): restore mail from the trash view | Danilo M. | 5 | -10/+192 |