| Age | Commit message (Expand) | Author | Files | Lines |
| 7 hours | docs(backlog): close item 162, record a second site for 163 | Danilo M. | 2 | -64/+174 |
| 7 hours | chore(hooks): log how many messages the sent carve-out matched | Danilo M. | 1 | -1/+26 |
| 7 hours | fix(delete): recover when a sync renamed the file underneath a move | Danilo M. | 3 | -1/+161 |
| 9 hours | docs(backlog): correct item 164, the first cause was wrong | Danilo M. | 1 | -32/+43 |
| 9 hours | docs(backlog): record items 163 and 164, both found by hand | Danilo M. | 1 | -0/+82 |
| 9 hours | docs(backlog): record item 162, Delete races a sync's rename | Danilo M. | 1 | -38/+55 |
| 9 hours | feat(compose): a menu bar on the composer | Danilo M. | 6 | -5/+371 |
| 9 hours | feat(compose): report autosave state in a status bar | Danilo M. | 8 | -56/+481 |
| 10 hours | docs(backlog): record items 160 and 161 from the notes | Danilo M. | 1 | -0/+87 |
| 10 hours | release: 0.27.0v0.27.0 | Danilo M. | 2 | -1/+10 |
| 10 hours | Merge branch 'signatures' | Danilo M. | 21 | -126/+1975 |
| 10 hours | fix(drafts): list drafts as messages, not threadssignatures | Danilo M. | 5 | -20/+124 |
| 21 hours | docs(backlog): close item 158, drafts are indexed on save | Danilo M. | 2 | -42/+36 |
| 21 hours | fix(drafts): index a saved draft so it appears without a sync | Danilo M. | 7 | -1/+302 |
| 21 hours | docs(backlog): close item 152, signatures | Danilo M. | 2 | -72/+76 |
| 21 hours | docs(signatures): document the directory and the three keys | Danilo M. | 2 | -0/+42 |
| 21 hours | docs(backlog): record item 158, a saved draft is invisible until a sync index... | Danilo M. | 1 | -0/+41 |
| 22 hours | fix(compose): a resumed draft does not re-seed on a From: change | Danilo M. | 2 | -0/+63 |
| 22 hours | feat(compose): the signature follows the account until it is chosen | Danilo M. | 2 | -5/+141 |
| 22 hours | fix(signatures): match the guard against on-disk text, newline and all | Danilo M. | 2 | -1/+41 |
| 22 hours | feat(compose): a signature switch on the editor bar | Danilo M. | 5 | -0/+406 |
| 23 hours | feat(config): read the three signature keys | Danilo M. | 3 | -0/+132 |
| 23 hours | test(signatures): record what the quoted-delimiter test does not pin | Danilo M. | 1 | -0/+10 |
| 23 hours | feat(signatures): replace an existing signature, guarded by a match | Danilo M. | 2 | -7/+181 |
| 23 hours | feat(signatures): splice a signature into a buffer | Danilo M. | 2 | -3/+131 |
| 23 hours | docs(backlog): item 136 fails deterministically, and names its own cause | Danilo M. | 1 | -1/+26 |
| 23 hours | docs(plans): use a placeholder name in the signature fixtures | Danilo M. | 1 | -30/+30 |
| 23 hours | feat(signatures): read a directory of markdown signatures | Danilo M. | 5 | -0/+249 |
| 23 hours | docs(plans): implementation plan for signatures, item 152 | Danilo M. | 1 | -0/+1939 |
| 23 hours | docs(specs): guard the signature splice against deleting the user's text | Danilo M. | 2 | -5/+72 |
| 24 hours | docs(specs): design signatures, item 152 | Danilo M. | 2 | -1/+316 |
| 24 hours | feat(queries): drop pinning, the menu is every saved query's home | Danilo M. | 12 | -353/+307 |
| 25 hours | feat(compose): offer Edit on a draft in the message pane's bar | Danilo M. | 4 | -9/+276 |
| 30 hours | feat(compose): open a draft to finish it | Danilo M. | 14 | -6/+617 |
| 31 hours | docs(backlog): record items 153 to 156 from the notes | Danilo M. | 1 | -1/+5 |
| 31 hours | feat: add a Drafts filter, and close the composer with Ctrl+W | Danilo M. | 10 | -35/+204 |
| 31 hours | fix(compose): make the Send button a square that reads as one item | Danilo M. | 2 | -2/+31 |
| 31 hours | feat(compose): lay the composer out by scope | Danilo M. | 7 | -136/+602 |
| 32 hours | fix(ui): move Compose back, drop the bar below the header, size its icons | Danilo M. | 7 | -21/+156 |
| 32 hours | feat(ui): give the message pane its own action bar | Danilo M. | 8 | -79/+266 |
| 32 hours | fix(compose): default to quoting below, and focus the body on a reply | Danilo M. | 8 | -12/+72 |
| 32 hours | feat(messageview): give the notice bars a ground and a severity | Danilo M. | 4 | -16/+146 |
| 32 hours | fix(messageview): drop the receive-only ribbon when the pane is blanked | Danilo M. | 3 | -1/+105 |
| 32 hours | fix(compose): put the reply cursor on blank space, not on the quote | Danilo M. | 3 | -7/+69 |
| 46 hours | Merge branch 'compose-and-send': composing and sending mail | Danilo M. | 57 | -88/+13517 |
| 46 hours | docs: close out compose and send, and drop the v1/v2 split | Danilo M. | 4 | -16/+190 |
| 46 hours | docs(backlog): reconcile with the notes, items 138 to 147 | Danilo M. | 1 | -1/+233 |
| 46 hours | fix(compose): close every composer when the main window quits | Danilo M. | 2 | -0/+65 |
| 46 hours | feat(hooks): own the notmuch hooks, and keep sent mail out of the inbox | Danilo M. | 8 | -0/+1403 |
| 3 days | feat(compose): wire the composer into the main window, item 123compose-and-send | Danilo M. | 11 | -21/+2062 |