| Age | Commit message (Expand) | Author | Files | Lines |
| 10 hours | feat(sync): show unsynced edits and offer to sync on exit | Danilo M. | 2 | -0/+210 |
| 10 hours | feat(threads): mark an opened thread read after a delay | Danilo M. | 2 | -0/+175 |
| 10 hours | feat(message): show From/To/Cc and add a details dialog | Danilo M. | 1 | -7/+159 |
| 10 hours | feat(completion): size the description column by need, not by half | Danilo M. | 1 | -0/+95 |
| 10 hours | fix(query): let the query bar keep Return instead of open_thread | Danilo M. | 1 | -0/+45 |
| 10 hours | fix(completion): stop the key filter handing itself the key it forwards | Danilo M. | 1 | -0/+138 |
| 10 hours | fix(completion): filter keys on the application, not the line edit | Danilo M. | 1 | -0/+146 |
| 10 hours | fix(completion): drive the popup instead of QLineEdit::setCompleter | Danilo M. | 1 | -0/+144 |
| 10 hours | feat(completion): render the popup with descriptions | Danilo M. | 1 | -0/+55 |
| 10 hours | feat(completion): select candidates per context | Danilo M. | 1 | -0/+96 |
| 10 hours | feat(config): add completion_on_focus and extra_mimetypes | Danilo M. | 1 | -0/+74 |
| 10 hours | keymap: register complete_query bound to Ctrl+Space | Danilo M. | 1 | -0/+8 |
| 10 hours | feat(completion): add the prefix, date and mimetype vocabularies | Danilo M. | 1 | -0/+35 |
| 10 hours | feat(worker): list every tag in the database | Danilo M. | 1 | -0/+39 |
| 10 hours | test(completion): make the lower-bound span test discriminate | Danilo M. | 1 | -3/+7 |
| 10 hours | feat(completion): complete both bounds of a date range | Danilo M. | 1 | -0/+42 |
| 10 hours | feat(completion): complete nothing inside a quoted literal | Danilo M. | 1 | -0/+18 |
| 10 hours | feat(completion): recognise value context after a prefix | Danilo M. | 1 | -0/+41 |
| 10 hours | feat(completion): add the query cursor-context tokenizer | Danilo M. | 2 | -0/+67 |
| 10 hours | feat: make attachments reachable from the message pane | Danilo M. | 2 | -0/+245 |
| 10 hours | feat: show a paperclip for threads with attachments | Danilo M. | 2 | -0/+86 |
| 10 hours | feat: choose the startup query by name | Danilo M. | 1 | -0/+67 |
| 10 hours | feat: own the message-pane zoom and persist it | Danilo M. | 4 | -0/+134 |
| 10 hours | feat: persist window, splitter and column widths | Danilo M. | 1 | -0/+61 |
| 10 hours | feat: render tags as chips instead of a text column | Danilo M. | 3 | -7/+333 |
| 10 hours | feat: show that a tag action landed | Danilo M. | 1 | -0/+102 |
| 10 hours | feat: add menus, a toolbar and a shortcut reference | Danilo M. | 2 | -6/+120 |
| 10 hours | fix: bind shortcuts users can actually press | Danilo M. | 1 | -10/+108 |
| 10 hours | Add GPLv2-only license and per-file headers | Danilo M. | 12 | -0/+216 |
| 10 hours | fix: render the message pane at all | Danilo M. | 2 | -0/+162 |
| 10 hours | fix: only interrupt startup for real configuration problems | Danilo M. | 1 | -0/+76 |
| 10 hours | feat: add MainWindow wiring query, list, message, and sync | Danilo M. | 2 | -0/+76 |
| 10 hours | feat: add MessageView with locked-down web engine profile | Danilo M. | 2 | -0/+149 |
| 10 hours | feat: add MailSync process wrapper | Danilo M. | 2 | -0/+240 |
| 10 hours | feat: add ThreadListModel with batch append | Danilo M. | 2 | -0/+283 |
| 10 hours | feat: add NotmuchWorker with batched queries and tag mutation | Danilo M. | 3 | -0/+534 |
| 10 hours | fix: enforce !-free cidPrefix invariant at both concatenation sites | Danilo M. | 1 | -0/+56 |
| 10 hours | feat: add HTML builder and cid: scheme handler | Danilo M. | 2 | -0/+207 |
| 10 hours | fix: scope qtmaildir: allow to the exact document base URL | Danilo M. | 1 | -0/+65 |
| 10 hours | feat: add deny-by-default web request interceptor | Danilo M. | 2 | -0/+229 |
| 10 hours | fix: make attachment path-containment guard separator-aware | Danilo M. | 1 | -0/+58 |
| 10 hours | feat: add MimeParser with GMime and safe attachment naming | Danilo M. | 9 | -0/+274 |
| 10 hours | feat: add Config with account, query, and sync parsing | Danilo M. | 2 | -0/+133 |
| 10 hours | fix: report collisions between INI overrides bound to the same key | Danilo M. | 1 | -0/+47 |
| 10 hours | feat: add KeyMap with defaults and INI overrides | Danilo M. | 2 | -0/+133 |
| 10 hours | build: add CMake skeleton and dependency discovery | Danilo M. | 1 | -0/+6 |