| Age | Commit message (Expand) | Author | Files | Lines |
| 2026-08-11 | feat(panes): draw the pane marks from shipped SVGs, not font glyphs | Danilo M. | 1 | -0/+4 |
| 2026-08-11 | feat(sync): sync a tag change automatically after a short delay | Danilo M. | 1 | -1/+81 |
| 2026-08-11 | feat(placeholder): count sent mail and drafts on the blank pane | Danilo M. | 1 | -27/+56 |
| 2026-08-11 | feat(sent): add a Sent view, flat and by recipient | Danilo M. | 1 | -4/+46 |
| 2026-08-11 | feat(config): let the date format on a card be configured | Danilo M. | 1 | -0/+1 |
| 2026-08-11 | feat(ui): give Sync the refresh icon | Danilo M. | 1 | -1/+1 |
| 2026-08-10 | feat(view): follow a background sync without a keystroke | Danilo M. | 1 | -11/+282 |
| 2026-08-10 | fix(ui): expand flat threads, reach the first message, localise the date | Danilo M. | 1 | -1/+22 |
| 2026-08-10 | feat(ui): let the user choose newest or oldest first | Danilo M. | 1 | -2/+40 |
| 2026-08-10 | feat(ui): step by index, and give thread stepping a second binding | Danilo M. | 1 | -17/+28 |
| 2026-08-10 | refactor(view): stop the view painting, and hit-test the reply count | Danilo M. | 1 | -88/+33 |
| 2026-08-10 | feat(ui): scope actions to the selected row kind and name it | Danilo M. | 1 | -28/+140 |
| 2026-08-10 | feat(ui): render a single message when its row is selected | Danilo M. | 1 | -0/+52 |
| 2026-08-10 | fix(ui): make the expander visible and the reply indent readable | Danilo M. | 1 | -3/+18 |
| 2026-08-10 | feat(ui): load a thread's replies when its row is expanded | Danilo M. | 1 | -0/+40 |
| 2026-08-10 | refactor(view): make ThreadListView a QTreeView for message rows | Danilo M. | 1 | -17/+68 |
| 2026-08-10 | feat(worker): load a thread as a reply tree with per-message depth | Danilo M. | 1 | -0/+2 |
| 2026-08-09 | fix(ui): stop a restored splitter position collapsing the message pane | Danilo M. | 1 | -0/+11 |
| 2026-08-09 | fix(ui): give Archive its own icon | Danilo M. | 1 | -1/+4 |
| 2026-08-09 | feat(ui): make the toolbar icon size configurable | Danilo M. | 1 | -0/+8 |
| 2026-08-09 | feat(ui): icons on every action, and rename Flag to Important | Danilo M. | 1 | -4/+46 |
| 2026-08-09 | fix(sync): clear the pending-edit count on a cron sync | Danilo M. | 1 | -0/+27 |
| 2026-08-07 | feat(sync): sync only the accounts with unsynced edits | Danilo M. | 1 | -3/+59 |
| 2026-08-07 | feat(ui): add a Maildir overview under Help | Danilo M. | 1 | -0/+93 |
| 2026-08-07 | feat(ui): make Escape deselect the row as well as blank the pane | Danilo M. | 1 | -0/+33 |
| 2026-08-07 | feat(ui): fill the blank message pane with a branded placeholder | Danilo M. | 1 | -0/+101 |
| 2026-08-07 | feat(ui): show each thread's tags under its row | Danilo M. | 1 | -9/+30 |
| 2026-08-07 | fix(ui): tell read threads from unread without relying on bold | Danilo M. | 1 | -3/+8 |
| 2026-08-07 | feat(tags): mark every thread in the view read, in one undoable step | Danilo M. | 1 | -0/+74 |
| 2026-08-07 | feat(sync): the status bar says which account is syncing | Danilo M. | 1 | -4/+48 |
| 2026-08-06 | fix(ui): one Sync control, and a query bar that looks finished | Danilo M. | 1 | -29/+56 |
| 2026-08-06 | test: stop two tests depending on the machine they run on | Danilo M. | 1 | -1/+16 |
| 2026-08-06 | fix(sync): hold tag edits made during a background sync | Danilo M. | 1 | -2/+130 |
| 2026-08-04 | fix(sync): count unsynced edits as net state, not as writes | Danilo M. | 1 | -8/+56 |
| 2026-08-04 | feat(ui): make Delete a toggle, and expire transient status messages | Danilo M. | 1 | -11/+69 |
| 2026-08-04 | fix(ui): name the default button on the quit prompt | Danilo M. | 1 | -0/+9 |
| 2026-08-04 | feat(ui): disable Sync during a background sync, and blank the pane on Esc | Danilo M. | 1 | -7/+49 |
| 2026-08-04 | fix(sync): stop a local sync reporting itself as a background one | Danilo M. | 1 | -8/+26 |
| 2026-08-04 | feat(sync): notice syncs this window did not start | Danilo M. | 1 | -0/+41 |
| 2026-08-04 | feat(ui): make multi-select discoverable and stop it opening threads | Danilo M. | 1 | -0/+147 |
| 2026-08-04 | feat(sync): dismissable log pane, progress bar, and a skip that is not a failure | Danilo M. | 1 | -6/+87 |
| 2026-08-04 | feat(tags): add an Edit tags dialog on Ctrl+T | Danilo M. | 1 | -0/+41 |
| 2026-08-04 | feat(sync): show unsynced edits and offer to sync on exit | Danilo M. | 1 | -18/+153 |
| 2026-08-04 | feat(threads): mark an opened thread read after a delay | Danilo M. | 1 | -0/+85 |
| 2026-08-04 | feat(message): show From/To/Cc and add a details dialog | Danilo M. | 1 | -0/+6 |
| 2026-08-04 | fix(query): let the query bar keep Return instead of open_thread | Danilo M. | 1 | -5/+50 |
| 2026-08-04 | feat(completion): wire query completion into the main window | Danilo M. | 1 | -1/+49 |
| 2026-08-04 | feat(about): custom About dialog with icon, copyright and project link | Danilo M. | 1 | -7/+46 |
| 2026-08-04 | feat: show a paperclip for threads with attachments | Danilo M. | 1 | -1/+18 |
| 2026-08-04 | feat: choose the startup query by name | Danilo M. | 1 | -2/+6 |